生の I/O 関数を使用してファイルから読み取り、データを別のファイルに出力しようとしていますが、コードが機能しないようで、read() を終了できないことがわかりました。ただし、この場合のループを終了する方法がわかりません。私のコードは次のようになります。
int main(){
int infile; //input file
int outfile; //output file
infile = open("1.txt", O_RDONLY, S_IRUSR);
if(infile == -1){
return 1; //error
}
outfile = open("2.txt", O_CREAT | ORDWR, S_IRUSR | S_IWUSR);
if(outfile == -1){
return 1; //error
}
int intch; //character raed from input file
unsigned char ch; //char to a byte
while(intch != EOF){ //it seems that the loop cannot terminate, my opinion
read(infile, &intch, sizeof(unsigned char));
ch = (unsigned char) intch; //Convert
write(outfile, &ch, sizeof(unsigned char));
}
close(infile);
close(outfile);
return 0; //success
}
誰かが問題について私を助けてくれますか? 本当にありがとうございました