我制作了这个程序,它将文本从一个文件复制到另一个文件。结果是,原始文件内容“这是一个测试”新文件内容“这是一个测试”这有效,然后我评论了该部分并试图使输出看起来像这样。我想要的结果,原始文件内容“这是一个测试”新文件内容,
"T
h
i
s
i
s
a
t
e
s
t"
出于某种原因,输出是对角线并且搞砸了,我几乎可以肯定这是因为空格字符搞砸了,所以我尝试检查空格,而不是在遇到空格时移动到下一行。
#include <stdio.h>
int main(void){
FILE *fp = fopen("originalfile.txt", "r");
char buffer[81];
fgets(buffer, 81, fp);
fclose(fp);
//copies the file
/*
FILE *fp2 = fopen("newfile.txt", "w");
fputs(buffer, fp2);
fclose(fp2);
*/
//copies but moves to next line after each character
FILE *fp2 = fopen("newfile.txt", "w");
int x;
char z = '\n';
int a = z;
printf("%d", z);
for (x = 0; x < strlen(buffer); x++){
fputc(buffer[x], fp2);
int res = fgetc(fp2);
if(isspace(res) != 0){
fseek(fp2,81,SEEK_CUR);
} else {
printf("yeh it got here");
}
}
}