C语言如何写入文本文件
struct Student
{
int num; /*学号*/
char name[10]; /*姓名*/
int grades[M]; /*共有M们功课*/
int total; /*总分*/
int rank; /*排名*/
char sex[4]; /*性别*/
}Stu[N];
void Selection_num(struct Student *st,int n)
{
FILE *fp;
int i,j,min,z;
struct Student temp;
for(i=0;i<n-1;i++)
{
min=i;
for(j=i+1;j<n;j++)
{
if(st[j].num<st[min].num)
min=j;
}
if(min!=i)
{
temp=st[i];
st[i]=st[min];
st[min]=temp;
}
}
if((fp=fopen("stu_info.dat","w+"))==NULL)
{
printf("can not open file! ");
exit (0);
}
for(z=0;z<n;z++)
{
if(fwrite(&st[z],sizeof(struct Student),1,fp)!=1)
printf("File write error\n");
}
} 展开
1、首先输入下方的代码
#include <stdio.h>
int main()
{
//下面是写数据,将数字0~9写入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
fprintf(fpWrite,"%d ",i);
fclose(fpWrite);
//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上
int a[10]={0};
FILE *fpRead=fopen("data.txt","r");
if(fpRead==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
{
fscanf(fpRead,"%d ",&a[i]);
printf("%d ",a[i]);
}
getchar();//等待
return 1;
}
2、面是写入到txt后的截图:
3、下面是读取文件后打印数据到控制台的截图。
使用c语言标准文件I/O库中的函数即可。具体来说:
1、fopen()打开文件。
2、fseek()调整文件位置。
3、fwrite()写入数据。
4、fclose()关闭打开的文件。示例如下,打开1.txt,并向文件后面添加hello world的字符串。
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp = fopen("1.txt", "a+");
if (fp==0) { printf("can't open file\n"); return 0;}
fseek(fp, 0, SEEK_END);
char sz_add[] = "hello world\n";
fwrite(sz_add, strlen(sz_add), 1, fp);
fclose(fp);
return 0;
}
2011-12-27
if((fp=fopen("stu_info.dat","wb+"))==NULL)
什么意思?
意思是用它替换原程序中的对应语句后重试。
晕死
你等于白说
谁不知道用FILE啊