C++为啥运行有结果,但是out文件没结果。 初学小白,求指导!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++为啥运行有结果,但是out文件没结果。 初学小白,求指导!!!相关的知识,希望对你有一定的参考价值。
#include <iostream>#include<cstdio>using namespace std;int main() freopen("C:\\Users\\26400\\Desktop\\C++\\inout\\inout.in", "r", stdin); int a[4], b[4]; for (int i = 0; i < 6; i++) cin >> a[i] >> b[i]; for (int i = 0; i < 5; i++) if (i == 0) cout << a[i] + b[i] << endl; else if (i == 1) cout << a[i] - b[i] << endl; else if (i == 2) cout << a[i] * b[i] << endl; else if (i == 3) cout << a[i] / b[i] << endl; else cout << a[i] %b[i] << endl; freopen("C:\\Users\\26400\\Desktop\\C++\\inout\\inout.out", "w", stdout); fclose(stdin); fclose(stdout); return 0;
这段C++代码中,程序通过freopen()函数将标准输入(stdin)重定向到指定文件"C:\Users\26400\Desktop\C++\inout\inout.in",并将标准输出(stdout)重定向到指定文件"C:\Users\26400\Desktop\C++\inout\inout.out"。在程序执行过程中,输入来自指定文件中的数据,输出则写入指定文件。但是在程序中,fclose(stdin)和fclose(stdout)函数是错误的,应该避免使用。在程序执行到fclose(stdin)时,stdin指向的文件流关闭,下面的输入操作就会受到影响,从而出错。同理,fclose(stdout)会关闭文件流,导致后面的输出没有写入到指定文件中。因此,要使程序正常运行并将结果输出到指定文件中,需要在输入和输出完毕后,使用fclose()函数关闭文件流。另外,在写文件路径时,应该使用双反斜杠"\ "来代替单个反斜杠"",因为单个反斜杠会被解释为转义字符。追问
请问fclose()如何使用?
追答fclose() 是 C 标准库中的一个函数,用于关闭文件。具体用法如下:
#include
int fclose(FILE *stream);
其中,stream 是文件指针,指向要关闭的文件。函数返回值为 0 表示关闭成功,为 EOF 表示关闭失败。
下面是一个简单的示例,演示如何使用 fclose() 关闭一个已打开的文件:
#include
int main()
FILE *fp;
char c;
/* 打开文件 */
fp = fopen("file.txt", "r");
/* 读取并显示文件内容 */
while ((c = fgetc(fp)) != EOF)
printf("%c", c);
/* 关闭文件 */
fclose(fp);
return 0;
在上面的示例中,先用 fopen() 函数打开一个名为 "file.txt" 的文件,并将其赋值给指针 fp,然后使用 fgetc() 逐字符读取文件内容,并将读取到的字符输出到屏幕上。最后使用 fclose() 函数关闭文件。
以上是关于C++为啥运行有结果,但是out文件没结果。 初学小白,求指导!!!的主要内容,如果未能解决你的问题,请参考以下文章
C++中 return -1;为啥结果显示4294967297