gpt4 book ai didi

c - 写入文件,但从桌面拉出文件时找不到数据

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

我在这里遇到了一个相当奇怪的问题。我正在使用 fopen 和 fprintf 将句子写入文件:

#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>

int main (void) {
FILE *fp;
fp = fopen("wageData.txt","w");
fprintf(fp, "Hi, I like pie");
return 0;
}

但是当我在桌面上打开wageData.txt时,里面什么也没有。另一方面,如果我尝试读取该文件,我会得到以下信息:

#include <stdio.h>

int main (void) {
//FILE *fp;
//fp = fopen("wageData.txt","r+");
FILE *c;
if ((c = fopen("wageData.txt","r")) == NULL)
printf("File not available");
else {
char x[3][6];
int i = 0;

while (fgets(x[i], 30, c) != NULL) {
i++;
}

for (i = 0; i < 6; i++) {
printf("%s\n", x[i]);
}
}

return 0;
}

编译后,结果是:

Hi, I like pie
like pie
ie
[?
m?iՖ

logout

[Process completed]

有人可以告诉我这是怎么回事吗?提前致谢。

最佳答案

在读取文件时,您可以执行类似的操作 -

   if ((fp = fopen("wageData.txt","r")) == NULL)
printf("File not available");
else {
char x[100];
//int i = 0;
while (fgets(x,100, fp) != NULL)
{
printf("%s\n", x);
}
}
fclose(fp);

然后,如果您想将句子分成多个字符串,您可以使用 sscanf - http://www.tutorialspoint.com/c_standard_library/c_function_sscanf.htm

关于c - 写入文件,但从桌面拉出文件时找不到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31553152/

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