假设我有int largeInt = 9999999
和char buffer[100]
,如何将largeInt
转换为字符串(我尝试buffer = largeInt
,不起作用)然后{{ 1}}到文件流fwrite()
?
现在如果我想写“大数字是(myFile
的值),该怎么办?”到largeInt
?
答案 0 :(得分:2)
您可以使用here所述的非标准itoa()
功能,并将数字转换为字符串,然后使用sscanf
格式化您的句子。
itoa()
:使用指定的基数将整数值转换为以null结尾的字符串,并将结果存储在str参数给出的数组中。
然后使用fwrite
将句子写入您的文件。
答案 1 :(得分:1)
一个例子:
int largeInt = 9999999;
FILE* f = fopen("wy.txt", "w");
fprintf(f, "%d", largeInt);
请参阅此链接:http://www.cplusplus.com/reference/cstdio/fprintf/
如果您想使用fwrite
,
char str[100];
memset(str, '\0', 100);
int largeInt = 9999999;
sprintf(str,"%d",largeInt);
FILE* f = fopen("wy.txt", "wb");
fwrite(str, sizeof(char), strlen(str), f);