c语言 如何将变量写入文件

int i = 0;我想把i 写入到文件中去?如何实现
2025-01-05 23:32:18
推荐回答(3个)
回答1:

比如写入 c盘下面的test.txt文件中。
#include
#include
void main(void)
{
char achBuf[256];
memset(achBuf,0,sizeof(achBuf)); //清空字符串
int i = 0;
sprintf(achBuf,"i = %d",i); //将整形转化为字符串
FILE* fp = fopen("c:\\test.txt","wb"); //以二进制写的方式打开文件
if( fp == NULL )
{
printf("打开文件失败!\n");
return;
}
//将字符串写入文件
fwrite(achBuf,1,strlen(achBuf),fp);
fclose(fp); //关闭文件
}

回答2:

原因:
使用fopen时参数不正确,你是用
w参数,若文件存在则文件长度清为0,即该文件内容会消失。每次都是重新清空并写数据,
将w修改为a即可.
fopen函数说明见下方:
---------------
file
*
fopen(const
char
*
path,const
char
*
mode);
[编辑本段]函数说明
参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r
打开只读文件,该文件必须存在。
r+
打开可读写的文件,该文件必须存在。
rb+
读写打开一个二进制文件,只允许读写数据。
rt+
读写打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(eof符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的eof符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
wt+
读写打开或着建立一个文本文件;允许读写。
at+
读写打开一个文本文件,允许读或在文本末追加数据。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。

回答3:

可以用配置文件的读写来实现!