今天给各位分享c语言从txt中读取学生信息的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、如何用c语言从txt文件中读取数据2、如何将txt文件中的学生信息读取到结构体数组中,C语言3、C语言怎么输出txt文件内相同姓名,不同学号的学生?
如何用c语言从txt文件中读取数据
用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。
一、打开文件:
FILE *fopen(const char *filename, const char *mode);
因为txt文件为文本文件, 所以打开时选择的mode应为”r”或者”rt”。
二、读取文件:
读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。可以使用一种,也可以几种混用。 常用的文件读取函数如下:
1、fgetc, 从文件中读取一个字节并返回。 适用于逐个字节读取。
2、 fgets, 从文件中读取一行。适用于整行读取。
3、fscanf, 格式化读取文件, 在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。
4、fread, 整块读取文件, 对于txt文件比较少用。
三、关闭文件:
读取结束后,应调用fclose函数关闭文件。
如何将txt文件中的学生信息读取到结构体数组中,C语言
FILE *fp;
printf(“请输入文件名,路径:”); //打开txt文件
scanf(“%s”,filename);
if((fp = fopen(filename,”r”)) == NULL)
{
fprintf(stderr,”%s 文件打开失败!\n”,filename);
exit(0); }
for(int i=0; i12; i++) //循环读取
{
fscanf(fp,”%s%s%f”,StuInfo[i].ID,StuInfo[i].name,StuInfo[i].score);
printf(“%s\t%s\t%f\n”,StuInfo[i].ID,StuInfo[i].name,StuInfo[i].score);
}
C语言怎么输出txt文件内相同姓名,不同学号的学生?
你好亲,#include stdio.h
#include string.h
#include stdlib.h
int main(void)
{
printf(“输入学生的信息,分别是班级,姓名,学号:”);
FILE * student = fopen( “student.txt”,”wb+”);
if( student == NULL )
{
printf(“文件打开失败!”);
system(“pause”);
return 0;
}
char a[100] ;
gets(a);
fwrite( a,(strlen(a)+1)*sizeof(char),1,student);
char szbuffer[100];
fseek(student,0L,0);
fread( szbuffer,(strlen(a)+1)*sizeof(char),1,student);
printf(“写入的student.txt文件的内容为:%s\n”,szbuffer);
fclose(student);
system(“pause”);
return 0;
}
这个题目考察的是fread和fwrite ,本来文本不应该用这两个函数.但是既然用了,要注意的是中间的文件指针,用fread的时候,需要fseek回到起始点,否则会出现乱码,经本人探测证明是对的.
关于c语言从txt中读取学生信息和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。