怎么用fprintf 把程序里的数据写入到文件里

本人是菜鸟,刚接触。现在有下面一段代码,问下高手怎么改?
#include <stdio.h>
void WriteArraytoFile(void)
{
FILE *fp = NULL;
int array_length, i;
double Array[100];

//set the length of the array
array_length = 100;
//open the file
if ((fp = fopen("Array_Value.txt", "w")) == NULL)
{
printf("Can not open the file !\n");
}
//write the elements in array into the file
for (i = 0; i < array_length; i++)
{
// 注意这里的输出形式要和数组的类型一致
fprintf(fp, "%f \n", Array[i]);
}
//close the file
fclose(fp);
}
我们设计了一个程序,然后运行程序会产生几个数据,想把这个数据写到txt文件里,只产生0和1。而且我们规定用 fprintf

1、matlab中fopen函数的常用调用格式

1)fileID = fopen('filename')

2)fileID = fopen('filename','permission')

其中fileID是文件代号,filename是要打开的文件名,permission是打开方式,默认的打开方式是只读模式。第一种情况时选择默认的打开方式,第二种是认为指定打开方式。

fileID是文件的句柄(或者理解为文件的代号),使用fopen()后默认会返回一个文件代号给fileID变量,常用的返回值如下:

fileID=+N(N是正整数):表示文件打开成功,文件代号是N。

fileID=-1 : 表示文件打开不成功。fileID在此次文件关闭前总是有效的。

permission是打开方式参数,打开方式参数由以下字符串确定:

r 读出w 写入(文件若不存在,自动创建)a 后续写入(文件若不存在,自动创建)r+ 读出和写入(文件应已存在)w+ 重新刷新写入,(文件若不存在,自动创建)a+ 后续写入(文件若不存在,自动创建)文件的存储格式:文件打开的默认方式是:二进制。以文本方式打开,更加详细的可以参见help fopen中的,如下图所示:

首先以第一种方式:fileID=fopen('test.txt'); 这种方式读入一个我们的test.txt测试文件,如下图所示:

以第二种方式:fileID=fopen('test.txt','r'); 这种只读方式打开这个est.txt测试文件,如下图所示:

2、fprintf函数可以将数据按指定格式写入到指定的文本文件中。

     基本格式fprintf(fid, format, variables)

     fid为文件句柄,从fopen()函数中得到,

     format用来指定数据输出时采用的格式,A是用来存放数据的矩阵。

     %d 整数,

     %e 实数:科学计算法形式,

     %f 实数:小数形式,

     %g 由系统自动选取上述两种格式之一,

     %s 输出字符串。


3、下面是一个小例子:

a='hello world';

fid=fopen('test.txt','w');fprintf(fid,'%s',a);fclose(fid);

在matlab中写入程序后如下图所示:

test.txt是测试文件,是一个空文件,当执行完上面程序后在查看test.txt可以看到hello world 啦 如下图所示:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-25
你的意思是要自己手动输入数据,然后写入文件吗? 如果是的话,就在//write the elements in array into the file这里加上:
for(i=0;i<array_length;i++)
{
scanf("%f",Array[i]);
}追问

不是手动,是我们设计了一个程序,然后运行程序会产生几个数据,想把这个数据写到txt文件里

追答

那就用fprintf函数,
FILE *fp;
if ((fp = fopen("Array_Value.txt", "w")) == NULL)//Array_value.txt是你要写入文件的路径
{
printf("Can not open the file !\n");
}
fprintf(fp, "%f \n", number);//number是你要写入的数据
fclose(fp);
}

第2个回答  2011-03-25
给数组Array赋值你想输出到文件的数据就行了本回答被提问者采纳