-2

我是 C 的新手,我很惊讶没有直接的函数来实现我想要的。

我正在执行一个程序,需要将一个整数值写入文件。我有代码片段可以帮助我写入文件:

FILE *in_file  = fopen("test.txt", "w"); 
    fprintf(in_file,"Test");
    // all done!
    fclose(in_file);

此代码成功地将字符串写入文件。现在,当我尝试将整数值写入该文件时,它不喜欢它,因为我猜 Fprintf 喜欢只将字符串写入文件:

所以下面的代码不起作用:

int argc = 10;
FILE *in_file  = fopen("test.txt", "w"); 
    fprintf(in_file,"entry value: %d",argc);
    // all done!
    fclose(in_file);

它引发以下错误:

错误:函数“int printf(const char*, ...)”的参数太少<br> printf();

现在,我试图找到如何在 C 中将整数打印到文件中,但没有找到任何直接的答案。所以我有两个选择,要么我尝试找到一种方法将此整数转换为字符串,要么让 Fprintf 将整数值写入文件。

我不确定哪一个是最佳选择。有什么建议么?

4

3 回答 3

6

在这一行中fprintf(in_file,"entry value: %d,argc");,您应该将其更改为fprintf(in_file,"entry value: %d" , argc);

于 2013-09-23T21:15:21.950 回答
1

小错误,argc应该在所有*printf方法中放在字符串文字之外。

fprintf(in_file,"entry value: %d",argc);

int fprintf ( FILE * 流, const char * 格式, ... );

...(附加论点)

根据格式字符串,该函数可能需要一系列附加参数,每个参数都包含一个值,用于替换格式字符串中的格式说明符(或指向存储位置的指针,对于 n)。这些参数的数量至少应与格式说明符中指定的值的数量一样多。该函数会忽略其他参数。

于 2013-09-23T21:14:45.713 回答
1

尝试

fprintf(in_file,"entry value: %d", argc);
于 2013-09-23T21:14:56.977 回答