我是一名学习 C 入门课程的学生,我们的第一个 C 期中考试即将到来。我们的测试环境会将我们的操作和 printf 输出存储到一个文本文件中。但是,我们的 TA 建议我们自己使用fprintf写入文件以防万一。
有没有一种非常简单的方法可以将我的终端/控制台输出和输入(我在scanf之后输入的内容)复制到像 output.txt 这样的文本文件中?
我试过了
freopen("output.txt","w",stdout);
但这不会将我的 scanf 输入写入文本文件。
任何人都可以帮忙吗?
不要使用 scanf(); 使用 fgets(); 一个例子:
#include <stdio.h>
#include <stdlib.h>
#define Contents_Size 1000
int main()
{
char contents[Contents_Size];
//Opening the file
FILE * fp;
fp = fopen("\myfile.txt", "w"); //"w" = write
//If there is an error
if(fp == NULL)
{
//Exit
printf("Error!\n");
exit(EXIT_FAILURE);
}
//This part require your input
printf("Enter the contents of file: \n");
fgets(contents, Contents_Size, stdin);
//Write your input in file
fputs(contents, fp);
//Close the file
fclose(fp);
return 0;
}
fgest() 会将您的输入复制到 contents[] 中,而 fputs() 会将 content[] 的每个字符粘贴到您的文件中。