新手问个简单到文件内容复制问题
char ch;
char buf[BUFSIZE];
int i;
ch = fgetc(fp1);
while (ch != EOF) {
for(i=0;fgetc(fp1)!='\n';i++) {
buf[i]=fgetc(fp1);
}
fputs(buf,fp2);
}
上面是实现代码 因为需要筛选每行到内容 用fgetc读 然后用buf放一行到内容 之后进行筛选 可以编译 执行到时候是断错误 求大侠指导 我======
[解决办法]
- C/C++ code
char ch; char buf[BUFSIZE]; int i; ch = fgetc(fp1); while (ch != EOF) { // 你的ch在下面的循环里面没有被重新赋值,怎么跳出循环? for(i=0;fgetc(fp1)!='\n';i++) { // 这两次调用的fgetc会导致数据丢失哦! buf[i]=fgetc(fp1); } fputs(buf,fp2); // 这里的buf没有使用'\0'结束,数据也会出错哦。 }