gpt4 book ai didi

c - 文件写入意外输出

转载 作者:行者123 更新时间:2023-11-30 19:22:30 25 4
gpt4 key购买 nike

我制作了这个程序,它将文本从一个文件复制到另一个文件。结果是,原始文件内容“这是一个测试” 新文件内容“这是一个测试”这有效,然后我评论了该部分并尝试使输出看起来像这样。我想要的结果,原始文件内容“这是一个测试” 新文件内容,

"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");
}
}
}

最佳答案

您可以按如下方式更新 for 循环,将每个字符放在新行上:

for (x = 0; x < strlen(buffer); x++){
fputc(buffer[x], fp2);
fputc('\n', fp2);
}

关于c - 文件写入意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com