任务是将句子从一个文件复制到另一个文件并同时反转。
编译时没有错误,原始文件包含某个句子,但反向文件不保存在第二个文件中。
提前感谢您的帮助。
以下是代码:
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
int main(int argc, char* argv[]) {
int file1 = open("a.txt", O_CREAT | O_RDWR | O_TRUNC, 0777);
write(file1, "How are you?", 12);
lseek(file1, -1, SEEK_END);
////////////////////////////////
char c;
int file2 = open("b.txt", O_CREAT | O_RDWR | O_TRUNC, 0777);
while( read(file1, &c, 1) ) {
write(file2, c, 1);
lseek(file1, -1, SEEK_CUR);
}
////////////////////////////////
close(file1);
close(file2);
return 0;
}
答案 0 :(得分:0)
我将你的while循环更改为:
int i = 0;
while( read(file1, &c, 1) ) {
i++;
write(file2, &c, 1);
lseek(file1, -2, SEEK_CUR);
if(i==12) // 12 is length of file which is being read.
break;
}
包括这个:
#include <sys/types.h>
#include <unistd.h>
在我这边工作。