将程序的输出传输到 C 中的文件

问题描述 投票:0回答:5

我编写了一个 C 程序来获取字符串的所有可能组合。例如,对于

abc
,它将打印
abc
bca
acb
等。我想在单独的文件中获取此输出。我应该使用什么功能?我对 C 中的文件处理没有任何了解。如果有人用一小段代码解释我,我将非常感激。

c
5个回答
4
投票

使用函数

fopen
(并且用
fprintf(f,"…",…);
代替
printf("…",…);
,其中
f
是从
FILE*
获得的
fopen
)应该会给你这个结果。完成后您可以
fclose()
您的文件,但如果您不这样做,操作系统会在程序退出时自动完成该操作。


4
投票

如果您从命令行运行它,则只需将标准输出重定向到文件即可。 在 Bash 上(Mac / Linux 等):

./myProgram > myFile.txt

或在 Windows 上

myProgram.exe > myFile.txt

1
投票

自从我这样做以来已经有一段时间了,但是 IIRC 有一个 freopen 可以让你在给定的句柄处打开文件。如果您在 1 处打开 myfile.txt,则您写入 stdout 的所有内容都会到达那里。


0
投票

您可以使用 tee 命令(在 *nix 和 cmd.exe 中可用) - 这允许将输出发送到标准输出和命名文件。

./myProgram | tee myFile.txt

0
投票

#包括

int main() { 浮动摄氏度、华氏度;

// Asking for user input
printf("Enter the temperature in Celsius: ");
scanf("%f", &celsius);

// Converting Celsius to Fahrenheit
fahrenheit = (celsius * 9 / 5) + 32;

// Displaying the result
printf("%.2f Celsius is equivalent to %.2f Fahrenheit.\n", celsius, fahrenheit);

return 0;

}

© www.soinside.com 2019 - 2024. All rights reserved.