<div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"><b>저수준 파일입출력</b>을 사용해서 파일 속 단어를 정렬하는 프로그램입니다.</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"><b>고수준 파일입출력</b>을 사용할 때와 같은 연결리스트 코드를 넣어 파일끝까지 글자를 확인해 단어로 만들어 연결리스트에 넣는 방법입니다.</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">문제는 고수준 파일입출력에서 <b>EOF까지</b> 읽어서 insert_word를 해주면 이상없이 잘 작동하지만</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">저수준 파일입출력에서 read를 사용해 <b>0까지</b> 가게되면 insert_word가 다 작동되다가 마지막에 Segmentation fault 가 납니다.</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">Segmentation fault 가 포인터를 잘못 사용하게 되면 뜬다고 하던데 <b>고수준에서는 되던게 저수준에서는 잘되다 마지막에만 안되</b>니</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">어떻게 처리해야할지 감이 잡히지 않습니다.</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">코드가 너저분하고 쓸데없이 길어도 한번 봐주시면 감사하겠습니다ㅜㅜ</div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"><br><table class="colorscripter-code-table" style="margin:0px;padding:0px;border:none;background-color:#fafafa;" cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:6px;border-right-width:2px;border-right-style:solid;border-right-color:#e5e5e5;"> <div style="margin:0px;padding:0px;text-align:right;color:#666666;line-height:130%;"> <div style="line-height:130%;">1</div> <div style="line-height:130%;">2</div> <div style="line-height:130%;">3</div> <div style="line-height:130%;">4</div> <div style="line-height:130%;">5</div> <div style="line-height:130%;">6</div> <div style="line-height:130%;">7</div> <div style="line-height:130%;">8</div> <div style="line-height:130%;">9</div> <div style="line-height:130%;">10</div> <div style="line-height:130%;">11</div> <div style="line-height:130%;">12</div> <div style="line-height:130%;">13</div> <div style="line-height:130%;">14</div> <div style="line-height:130%;">15</div> <div style="line-height:130%;">16</div> <div style="line-height:130%;">17</div> <div style="line-height:130%;">18</div> <div style="line-height:130%;">19</div> <div style="line-height:130%;">20</div> <div style="line-height:130%;">21</div> <div style="line-height:130%;">22</div> <div style="line-height:130%;">23</div> <div style="line-height:130%;">24</div> <div style="line-height:130%;">25</div> <div style="line-height:130%;">26</div> <div style="line-height:130%;">27</div> <div style="line-height:130%;">28</div> <div style="line-height:130%;">29</div> <div style="line-height:130%;">30</div> <div style="line-height:130%;">31</div> <div style="line-height:130%;">32</div> <div style="line-height:130%;">33</div> <div style="line-height:130%;">34</div> <div style="line-height:130%;">35</div> <div style="line-height:130%;">36</div> <div style="line-height:130%;">37</div> <div style="line-height:130%;">38</div> <div style="line-height:130%;">39</div> <div style="line-height:130%;">40</div> <div style="line-height:130%;">41</div> <div style="line-height:130%;">42</div> <div style="line-height:130%;">43</div> <div style="line-height:130%;">44</div> <div style="line-height:130%;">45</div> <div style="line-height:130%;">46</div> <div style="line-height:130%;">47</div> <div style="line-height:130%;">48</div> <div style="line-height:130%;">49</div> <div style="line-height:130%;">50</div> <div style="line-height:130%;">51</div> <div style="line-height:130%;">52</div> <div style="line-height:130%;">53</div> <div style="line-height:130%;">54</div> <div style="line-height:130%;">55</div> <div style="line-height:130%;">56</div> <div style="line-height:130%;">57</div> <div style="line-height:130%;">58</div> <div style="line-height:130%;">59</div> <div style="line-height:130%;">60</div> <div style="line-height:130%;">61</div> <div style="line-height:130%;">62</div> <div style="line-height:130%;">63</div> <div style="line-height:130%;">64</div> <div style="line-height:130%;">65</div> <div style="line-height:130%;">66</div> <div style="line-height:130%;">67</div> <div style="line-height:130%;">68</div> <div style="line-height:130%;">69</div> <div style="line-height:130%;">70</div> <div style="line-height:130%;">71</div> <div style="line-height:130%;">72</div> <div style="line-height:130%;">73</div> <div style="line-height:130%;">74</div> <div style="line-height:130%;">75</div> <div style="line-height:130%;">76</div> <div style="line-height:130%;">77</div> <div style="line-height:130%;">78</div> <div style="line-height:130%;">79</div> <div style="line-height:130%;">80</div> <div style="line-height:130%;">81</div> <div style="line-height:130%;">82</div> <div style="line-height:130%;">83</div> <div style="line-height:130%;">84</div> <div style="line-height:130%;">85</div> <div style="line-height:130%;">86</div> <div style="line-height:130%;">87</div> <div style="line-height:130%;">88</div> <div style="line-height:130%;">89</div> <div style="line-height:130%;">90</div> <div style="line-height:130%;">91</div> <div style="line-height:130%;">92</div> <div style="line-height:130%;">93</div> <div style="line-height:130%;">94</div> <div style="line-height:130%;">95</div> <div style="line-height:130%;">96</div> <div style="line-height:130%;">97</div> <div style="line-height:130%;">98</div> <div style="line-height:130%;">99</div> <div style="line-height:130%;">100</div> <div style="line-height:130%;">101</div> <div style="line-height:130%;">102</div> <div style="line-height:130%;">103</div> <div style="line-height:130%;">104</div> <div style="line-height:130%;">105</div> <div style="line-height:130%;">106</div> <div style="line-height:130%;">107</div> <div style="line-height:130%;">108</div> <div style="line-height:130%;">109</div> <div style="line-height:130%;">110</div> <div style="line-height:130%;">111</div> <div style="line-height:130%;">112</div> <div style="line-height:130%;">113</div> <div style="line-height:130%;">114</div> <div style="line-height:130%;">115</div> <div style="line-height:130%;">116</div> <div style="line-height:130%;">117</div> <div style="line-height:130%;">118</div> <div style="line-height:130%;">119</div> <div style="line-height:130%;">120</div> <div style="line-height:130%;">121</div> <div style="line-height:130%;">122</div> <div style="line-height:130%;">123</div> <div style="line-height:130%;">124</div> <div style="line-height:130%;">125</div> <div style="line-height:130%;">126</div> <div style="line-height:130%;">127</div> <div style="line-height:130%;">128</div> <div style="line-height:130%;">129</div> <div style="line-height:130%;">130</div> <div style="line-height:130%;">131</div> <div style="line-height:130%;">132</div> <div style="line-height:130%;">133</div> <div style="line-height:130%;">134</div> <div style="line-height:130%;">135</div> <div style="line-height:130%;">136</div> <div style="line-height:130%;">137</div></div></td> <td style="padding:6px 0px;"> <div style="margin:0px;padding:0px;color:#010101;line-height:130%;"> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#include</span> <span style="color:#a71d5d;"><</span>stdio.h<span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#include</span> <span style="color:#a71d5d;"><</span>stdlib.h<span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#include</span> <span style="color:#a71d5d;"><</span>malloc.h<span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#include</span> <span style="color:#a71d5d;"><</span><span style="color:#066de2;">string</span>.h<span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#include</span> <span style="color:#a71d5d;"><</span>fcntl.h<span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;">#include</span> <span style="color:#a71d5d;"><</span>ctype.h<span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">typedef</span> <span style="color:#a71d5d;">struct</span> Word {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#066de2;">char</span> word[BUFSIZ];</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#066de2;">int</span> count;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">struct</span> Word <span style="color:#a71d5d;">*</span>pre;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">struct</span> Word <span style="color:#a71d5d;">*</span>next;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">} Word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">Word <span style="color:#a71d5d;">*</span>create_word(<span style="color:#066de2;">char</span> <span style="color:#a71d5d;">*</span>s)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">{</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> Word <span style="color:#a71d5d;">*</span>new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word <span style="color:#a71d5d;">=</span> (Word <span style="color:#a71d5d;">*</span>)malloc(<span style="color:#a71d5d;">sizeof</span>(Word));</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(new_word<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span>NULL) <span style="color:#066de2;">printf</span>(<span style="color:#63a35c;">"error malloc\n"</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> strcpy(new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, s);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count <span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> NULL;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next <span style="color:#a71d5d;">=</span> NULL;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">return</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">}</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">void</span> insert_word(Word <span style="color:#a71d5d;">*</span><span style="color:#a71d5d;">*</span>head, <span style="color:#066de2;">char</span> <span style="color:#a71d5d;">*</span>w)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">{</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> Word <span style="color:#a71d5d;">*</span>new_word <span style="color:#a71d5d;">=</span> create_word(w);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> Word <span style="color:#a71d5d;">*</span>s <span style="color:#a71d5d;">=</span> <span style="color:#a71d5d;">*</span>head;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(<span style="color:#a71d5d;">*</span>head <span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span> NULL)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count<span style="color:#a71d5d;">+</span><span style="color:#a71d5d;">+</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> <span style="color:#a71d5d;">*</span>head;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">*</span>head <span style="color:#a71d5d;">=</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span> <span style="color:#a71d5d;">if</span>(strcmp(s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word)<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#0099cc;">1</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count<span style="color:#a71d5d;">+</span><span style="color:#a71d5d;">+</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> <span style="color:#a71d5d;">*</span>head;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next <span style="color:#a71d5d;">=</span> s;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">*</span>head <span style="color:#a71d5d;">=</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">while</span>(s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next <span style="color:#a71d5d;">!</span><span style="color:#a71d5d;">=</span> NULL)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(strcmp(s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word)<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">-</span><span style="color:#0099cc;">1</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> s <span style="color:#a71d5d;">=</span> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">break</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(strcmp(s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word)<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">-</span><span style="color:#0099cc;">1</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count<span style="color:#a71d5d;">+</span><span style="color:#a71d5d;">+</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> s;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next <span style="color:#a71d5d;">=</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span> <span style="color:#a71d5d;">if</span>(strcmp(s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word)<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#0099cc;">1</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next <span style="color:#a71d5d;">=</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count<span style="color:#a71d5d;">+</span><span style="color:#a71d5d;">+</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next <span style="color:#a71d5d;">=</span> s;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>pre <span style="color:#a71d5d;">=</span> new_word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span> <span style="color:#a71d5d;">if</span>(strcmp(s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, new_word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word)<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#0099cc;">0</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> s<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count<span style="color:#a71d5d;">+</span><span style="color:#a71d5d;">+</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> free(new_word);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">}</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">main()</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">{</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#066de2;">int</span> fdr, fdw;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> Word <span style="color:#a71d5d;">*</span>word;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#066de2;">int</span> c;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#066de2;">char</span> ch, buf, <span style="color:#a71d5d;">*</span>buf_out, buffer[BUFSIZ];</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> off_t cur, <span style="color:#066de2;">end</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>((fdr<span style="color:#a71d5d;">=</span>open(<span style="color:#63a35c;">"the_gold_bug.txt"</span>, O_RDONLY))<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">-</span><span style="color:#0099cc;">1</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> perror(<span style="color:#63a35c;">"open : the_gold_bug.txt"</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> exit(<span style="color:#0099cc;">1</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>((fdw<span style="color:#a71d5d;">=</span>open(<span style="color:#63a35c;">"text.res2"</span>, O_WRONLY <span style="color:#a71d5d;">|</span> O_CREAT <span style="color:#a71d5d;">|</span> O_TRUNC, S_IRUSR <span style="color:#a71d5d;">|</span> S_IWUSR <span style="color:#a71d5d;">|</span> S_IRGRP <span style="color:#a71d5d;">|</span> S_IROTH))<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">-</span><span style="color:#0099cc;">1</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> perror(<span style="color:#63a35c;">"open : text.res2"</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> exit(<span style="color:#0099cc;">1</span>);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">while</span>(read(fdr, &buf, <span style="color:#0099cc;">1</span>)<span style="color:#a71d5d;">></span><span style="color:#0099cc;">0</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> c <span style="color:#a71d5d;">=</span> toascii(buf);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>((c<span style="color:#a71d5d;">></span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'a'</span> && c<span style="color:#a71d5d;"><</span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'z'</span>) <span style="color:#a71d5d;">|</span><span style="color:#a71d5d;">|</span> (c<span style="color:#a71d5d;">></span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'A'</span> && c<span style="color:#a71d5d;"><</span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'Z'</span>))</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(c<span style="color:#a71d5d;">></span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'A'</span> && c<span style="color:#a71d5d;"><</span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'Z'</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> c<span style="color:#a71d5d;">+</span><span style="color:#a71d5d;">=</span><span style="color:#0099cc;">32</span>;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> sprintf(&ch, <span style="color:#63a35c;">"%c"</span>, c);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(<span style="color:#a71d5d;">*</span>buffer<span style="color:#a71d5d;">=</span><span style="color:#a71d5d;">=</span><span style="color:#0099cc;">0</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> strcpy(buffer, &ch);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> strcat(buffer, &ch);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">else</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">if</span>(<span style="color:#a71d5d;">*</span>buffer <span style="color:#a71d5d;">!</span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> insert_word(&word, buffer);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> memset(buffer, <span style="color:#63a35c;">'\0'</span>, <span style="color:#a71d5d;">sizeof</span>(buffer));</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">while</span>(word)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> {</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> sprintf(buf_out, <span style="color:#63a35c;">"%s\t%d\n"</span>, word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>word, word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>count);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> write(fdw, buf_out, strlen(buf_out)<span style="color:#a71d5d;">*</span><span style="color:#a71d5d;">sizeof</span>(<span style="color:#066de2;">char</span>));</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> word <span style="color:#a71d5d;">=</span> word<span style="color:#a71d5d;">-</span><span style="color:#a71d5d;">></span>next;</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> }</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> close(fdr);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> close(fdw);</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;">}</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div></div> <div style="text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic;"><a target="_blank" href="http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5;text-decoration:none;">Colored by Color Scripter</a></div></td> <td style="vertical-align:bottom;padding:0px 2px 4px 0px;"><span style="text-decoration:none;color:#ffffff;font-size:9px;padding:1px;background-color:#e5e5e5;"><br><a target="_blank" href="http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:#ffffff;">cs</a></span></td></tr></tbody></table></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.