c语租如旦言编橡局的程序的结果输入到一个文本文件中可以使用fprintf;
例:
#include<stdio.h>
main(){
FILE *fpt;
fpt = fopen("wendangming.txt","w");//打开文档弊扰,写入
fprintf(fpt,"Hello world");
fclose(fpt);
}
(1)c语言写入文件扩展阅读
它打开一个文本文件,逐个字符地读取该文件
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream testByCharFile;
int num;
char c;
testByCharFile.open("6.5.cpp",ios::in);
while(!testByCharFile.eof())
{
testByCharFile >> c;
num++;
}
testByCharFile.close();
cout << num << endl;
}
2. 用C语言编写 文件读写
第一种:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
structstudent//结构体
{
charname[20];//姓名
intenglish;//英语
intmath;//数学
intprogram;//程序设计
}s[50];
voidru(structstudents[],int*n)//文件导入函数
{
FILE*p;
inti=*n;
if((p=fopen("students.txt","r"))==NULL)
{
printf("无法打开此文件!");
}
else
{
while(!feof(p))
{
fscanf(p,"%s%d%d%d",s[i].name,&s[i].english,&s[i].math,&s[i].program);
i++;
*n=*n+1;
}
}
fclose(p);
}
voidpaixu(structstudents[],intn)//排序函数
{
inti,j;
structstudentstu;
intallscore[2];
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
allscore[0]=s[i].english+s[i].math+s[i].program;
allscore[1]=s[j].english+s[j].math+s[j].program;
if(allscore[0]<allscore[1])
{
stu=s[i];
s[i]=s[j];
s[j]=stu;
}
}
}
}
voiddayin(structstudents[],intn)//显示所有信息
{
inti;
printf(" 姓名 英语 数学 程序设计 总分 ");
for(i=0;i<n;i++)
{
printf("%s %d %d %d %d ",s[i].name,s[i].english,s[i].math,s[i].program,(s[i].english+s[i].math+s[i].program));
}
}
intmain()//主函数
{
intk,n=0;
ru(s,&n);
paixu(s,n);
dayin(s,n);
return0;
}
输出结果:
第二种二进制的导入也差不多,这里就不写了
3. c语言 如果一个文本文件第一次写入然后第二次写入时并没有fseek到尾部,会不会直接就把第一次的
1、首先在打开的c语言,打开文件,如下图所示。
4. C语言中如何将一个数组导入到文件中
使用文件操作复函数写入文件制即可。
对于数组type a[N], 要将其写入文件有两种方式可以使用。
1 将数组以二进制方式写入文件。如
fwrite(a, sizeof(a), 1, fp);
可以将数组整体以二进制方式写入文件中。
2 按照元素,依次写入文件。具体写入格式与数组的类型有关。如为int数组可以写作:
int i;
for(i = 0; i < N; i++)
fprintf("%d,", a[i]);
两种方法各有优缺点:
1 代码量上,第一种方式更简单高效;
2 运行效率上,第一种方法的执行效率更高;
3 文件空间大小上:
如果数组中的字符串元素较多,那么二者写入后目标文件大小相似,或者第二种方式占用的空间较小。
如果数组中的整型或浮点型数据较多,那么第一种方式占用的空间较小。
4 目标文件可读性:
第一种方法得到的文件是二进制文件,需要用专门的阅读器打开,且必须是专业人士才可以读懂。
第二种方法更直观,直接打开文本文件就可以阅读输出结果。
5. C语言fwrite怎么写入文件
C语言fwrite写入文件可以参考以下的代码:
//定义一个学生结构体
structStudent_type
{
charname[10];
intnum;
intage;
charaddr[30];
}stud[40];
inti;
FILE*fp;//定义一个文件指针fp
fp=fopen("stu.dat","wb");//以二进制可写方式打开stu.dat文件
//将40个学生的记录写入文件stu.dat中
for(i=0;i<40;i++)
fwrite(&stud[i],sizeof(structStudent_type),1,fp);
(5)c语言写入文件扩展阅读:
fwrite函数用法
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
返回值:返回实际写入的数据块数目
1、buffer:是一个指针,对fwrite来说,是要获取数据的地址
2、size:要写入内容的单字节数
3、count:要进行写入size字节的数据项的个数
4、stream:目标文件指针
5、返回实际写入的数据项个数count
说明:写入到文件的哪里与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
fseek对此函数有作用,但是fwrite函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE *fp)函数同步。