Pointers C/C++;)为什么在运行程序后忽略了读写访问?
当我尝试在C中写入和读取txt文件时,在运行该文件后,它没有很好地工作 运行该文件时没有错误,但我不知道为什么它不工作 在output.txt中,写入了无意义的结果 (input.txt中没有任何内容) (-858993460在output.txt中) 我附上我的代码和结果图片 *在收到Adrian的评论后,我添加了返回值以查看返回的值。错误的原因是我没有在input.txt中输入任何内容。我发现在开始编写代码之前,我应该在input.txt中输入一些东西! 在我把数字6输入到input.txt后,它工作得很好!!我衷心感谢阿德里安。祝您今天过得愉快。救生员 在我将6放入input.txt后,结果: 捕获我创建的output.txt和input.txt:Pointers C/C++;)为什么在运行程序后忽略了读写访问?,pointers,printf,scanf,fclose,Pointers,Printf,Scanf,Fclose,当我尝试在C中写入和读取txt文件时,在运行该文件后,它没有很好地工作 运行该文件时没有错误,但我不知道为什么它不工作 在output.txt中,写入了无意义的结果 (input.txt中没有任何内容) (-858993460在output.txt中) 我附上我的代码和结果图片 *在收到Adrian的评论后,我添加了返回值以查看返回的值。错误的原因是我没有在input.txt中输入任何内容。我发现在开始编写代码之前,我应该在input.txt中输入一些东西! 在我把数字6输入到input.txt
#包括
int main(){
文件*输入,*输出;
int n,m,o,p,q;
p=fopen_s(&in,“input.txt”,“r”);
q=fopen_s(&out,“output.txt”,“w”);
m=fscanf_s(在、%d、&n中);
o=fprintf(输出,“%d\n”,n);
printf(“%d,%d,%d,%d”,p,q,m,o,n);
fclose(in);
fclose(out);
}
您应该检查fopen_s
和fscanf_s
的返回值(并将它们打印到控制台)以查看这些调用是否成功。很抱歉,我不知道如何编辑该代码,如果您不介意,可以编辑该代码吗?谢谢Adrian。添加另外两个int
变量(例如,p
和q
)和dop=fopen_s(&in…)
和q=fopen_s(&out…
然后printf
p
和q
就像你对m
和o
所做的那样。然后让我们知道这四个变量的值。我做了,得到了0,0,-1,11,就像附件中的图片一样。但我仍然无法理解它们。好的,两个零表示fopen s
lls起作用了。11
表示调用fprintf_s
写了多少个字符,-1
(即EOF
)表示fscanf_s
失败了!可能会向我们显示输入文件的内容。(尽管我刚刚重新阅读了你的问题,你说“input.txt中没有任何内容”-所以你不能从中读取整数!!)你应该检查fopen_s
和fscanf_s
的返回值(并将它们打印到控制台)以查看这些调用是否成功。很抱歉,我不知道如何编辑该代码,如果你不介意的话,可以编辑该代码吗?谢谢Adrian。再添加两个int
变量(例如,p
和q
)和dop=fopen_s(&in…
和q=fopen_s(&out…
然后printf
p
和q
就像你对m
和o
所做的那样。然后让我们知道这四个变量的值。我做了,得到了0,0,-1,11,就像附件中的图片一样。但我仍然无法理解它们。好的,两个零表示fopen s
lls起作用了。11
表示调用fprintf_s
写了多少个字符,-1
(即EOF
)表示fscanf_s
失败了!可能会向我们显示输入文件的内容。(尽管我刚刚重新阅读了你的问题,你说“input.txt中没有任何内容”-所以不能从中读取整数!!)
#include <stdio.h>
int main() {
FILE* in, *out;
int n,m,o,p,q;
p = fopen_s(&in, "input.txt", "r");
q = fopen_s(&out, "output.txt", "w");
m = fscanf_s(in, "%d", &n);
o = fprintf(out, "%d\n", n);
printf("%d, %d, %d, %d", p, q, m, o, n);
fclose(in);
fclose(out);
}