怎样把TXT格式文件中以记录存在的数据读到C语言结构体数组中

   更新日期:2024.06.01
#include <stdio.h>
#include <stdlib.h>
struct content
{
char id[100];
char bookname[100];
char editorname[100];
char publishname[100];
struct content *next;
};
int main()
{
FILE *fp;///读文件用的文件指针
char root[1000];///记录文件所在的目录
scanf("%s",root);///输入文件所在的目录
fp=fopen(root,"r");///打开文件
if (fp==NULL)///如果文件指针为空,报错
{
printf("无法打开文件!\n");
return 0;
}
struct content *p1,*p2=NULL;
p1=(struct content*)calloc(1,sizeof(struct content));
p2=p1;
while (fscanf(fp,"%s",p1->id)==-1)
{
fscanf(fp,"%s",p1->bookname);
fscanf(fp,"%s",p1->editorname);
fscanf(fp,"%s",p1->publishname);
p2->next=p1;
p2=p1;
p2->next=NULL;
p1=(struct content*)calloc(1,sizeof(struct content));
}
return 0;
}

这是代码,没测试过,不知道对吧,高手不敢当,希望对你有用

首先你得知道文件记录的格式是什么样的。
比如说,文件中存的是学生的成绩。
学号 语文 数学
1001 80 90
1002 85 59
……
1、定义结构体信息
struct student
{
char no[10];
float chinese;
float math;
};
2、定义一个结构体数组,用来存所有学生的信息
struct student s[100];
3、读取每一行信息
fscanf("%s %f %f",s[i].no,&s[i].chinese,&s[i].math);

  • 13668076590 :如何保存数据到指定txt本上(c#)?
    堵静信3553 :答:保存数据到txt文档,实际上就是普通的IO写入。你需要建立文件的写入流,然后输入正确的内容即可。StreamWriter sw = new StreamWriter(@"D:\\123.txt", true, Encoding.ASCII);sw.Write("hello world");sw.Flush();sw.Close();以上代码表示在你的D盘创建名称为123.txt的文本文件,并且写入一行...
  • 13668076590 :怎样把txt文档变成bat文档保存?
    堵静信3553 :答:在记事本中编完后点写字左上方的“文件”—》另存为,然后在文件名后加.bat,下面的保存类型选“所有文件”就好了
  • 13668076590 :如何把文件存为txt格式?
    堵静信3553 :答:1、在电脑记事本上输入完内容之后,点击左上角的“文件”按钮。2、在弹出的菜单栏里面,点击“另存为”这一选项,就会跳转到另存为界面。3、在另存为界面输入文件名,以及把文档类型设置为“txt”的格式即可。4、或者在完成内容输入以后,直接点击快捷键“ctrl”加“S”键保存即可。如果是word文档...
  • 13668076590 :txt文档通讯录怎么转存到手机?
    堵静信3553 :答:第二步:将新建的记事本.txt格式文件的扩展名.txt改为.csv。第三步:打开Outlook,选择左侧窗口中的“联系人”,点菜单“文件”——“导入和导出”——“从另一程序或文件导入”——“以逗号为分隔符(Windows)”——点“浏览”——选第二步建的.csv格式文件——选“联系人”——勾选“将***...
  • 13668076590 :使用bat截取txt文件中的内容,并保存为新文件?
    堵静信3553 :答:不清楚你的实际文件/情况,仅以问题中的样例/说明为据复制粘贴到记事本,另存为xx.bat,编码选ANSI@echo offrem 提取/截取一个txt文本文件中含有指定字符串/关键字的行及其下面的所有行内容set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$%/%@% %z%cd /d ...
  • 13668076590 :word怎么新建记事本怎么新建记事本文档
    堵静信3553 :答:3. 将光标移动到文档页面,并输入所需的文本。4. 按下“Ctrl + S”键组合或使用“文件” > “保存”命令保存文档。5. 在弹出的“另存为”对话框中,尝试更改文件类型为"纯文本(*.txt)"。6. 输入一个文件名并保存,即可将当前文档保存为TXT格式的记事本文件。请注意,在Word中创建的记事本...
  • 13668076590 :手机WPS怎么将Word文档另存为txt格式
    堵静信3553 :答:WPS是一款功能强大的办公软件,支持多种文件类型,有些用户想知道手机WPS怎么将Word文档另存为txt格式,接下来小编就给大家介绍一下具体的操作步骤。具体如下:1. 首先第一步先用WPS打开手机中的Word文档,根据下图箭头所指,点击左下角【方块】图标。2. 第二步在弹出的菜单栏中,根据下图箭头所指,...
  • 13668076590 :C++ 从TXT文件中读取数据存到数组中??你是怎么解决的谢谢
    堵静信3553 :答:文件中读取数据存到数组中的命令:include <fstream> void main()nclude <stdio.h> include <math.h> define MaxLength { int a[10];ifstream fin("D:/我的输入文件.txt");for(int i=0;i<10;i++)fin>>a[i];for(int i=0;i<10;i++)cout<<a[i]<<endl;ofstream fout("D:/我的...
  • 13668076590 :怎么把txt格式转换成Excel?
    堵静信3553 :答:1、首先在电脑中找到TXT格式的文本文档,需要将其转换成excel表格。2、新建一个excel表格,点击工具栏中的“数据”选项,并点击其中的“自文本”。3、然后在页面中弹出的对话框中选择需要转换的文本文档,点击“导入”按钮。4、然后excel表格中出现文本导入向导对话框,选择“固定宽度”,点击下一步。5、...
  • 13668076590 :怎么把所有txt文件中的相同行找出来并写入一个文件
    堵静信3553 :答:2 在B列输入你的计算公式,假如这里你要查找以"11"开头的字串,可以按如下格式输入公式:3 对B列进行筛选,将所有符合条件的行筛选出来 4 拷贝(选中,CTRL+C)筛选后的元素 5 将拷贝好的内容保存到另一个TXT文件,如下是源文本和目标文本的对比:如果需要其他规则,可以自己更改公式。
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网