0

fprintf 是如何工作的?

如果我写fprintf(outfile, "test %d %d 255/r", 255, 255);

这是什么意思?我知道 outfile 是输出文件的名称 my 。其他值是什么意思?

4

5 回答 5

6

"test %d %d 255/r"告诉它之后将是参数(它们在那里:255、255)并且它们应该是整数类型。它们将被放置而不是 %d。

结果,您将test 255 255 255在文件中获得字符串。

有关更多信息,请阅读std::fprintf参考

于 2009-09-03T19:15:36.363 回答
3

第一个参数是文件句柄,第二个是格式化字符串,之后有可变数量的参数,具体取决于您在第二个参数中使用的格式说明符的数量。

检查文档,它包含您要询问的所有信息。

于 2009-09-03T19:15:39.170 回答
3

它是文件流的格式化输出。它像 printf 一样工作,不同之处在于 printf 总是输出到标准输出。如果你写

fprintf(stdout, "test %d %d 255\n", 255, 255);

它将与printf等价物相同。

它的第二个参数是格式字符串。格式字符串包含格式说明符,例如%s, %d, %x。你的包含两个%ds。每个格式说明符必须在fprintf. 你的有两个%d说明符,所以有两个数字参数:

fprintf(outfile, "Here are two numbers: %d, %d", 4, 5);

同样,您可以使用字符串说明符 ( %s)、十六进制说明符 ( %x) 或 long/long long int 说明符 ( %ld, %lld)。以下是它们的列表:http ://www.cppreference.com/wiki/c/io/printf 。请注意,对于所有 C 格式的 i/o 函数(如 sprintf 和 scanf),它们都是相同的。

此外,在您的原始示例中,“ /r”将直接打印“ /r”。看起来您正在尝试回车(“ \r”)。

于 2009-09-03T19:17:44.143 回答
1

它类似于printf,它只是将输出打印到文件中。

于 2009-09-03T19:15:36.660 回答
1

第二个参数是格式字符串。任何附加参数都是格式字符串中说明符的参数(在本例中为 %d)。查看http://www.cppreference.com/wiki/c/io/printf以获得有关 printf 样式函数的良好介绍。

于 2009-09-03T19:16:35.317 回答