C语言结构体读取txt文件中内容,有逗号

2025-03-04 15:04:54
推荐回答(3个)
回答1:

  1. 用字符读出,判断是否为‘,’,是的话就转化为结构体中的一个变量值,再读取判断,直到都读出来。

  2. 写入文件的时候每个数据的字节数都是定好的,直接读取一行,然后用memcpy(char* des,char* str,int n)读取,memcpy(des,str+n,m);从第n个字节读m个字节。

两种都可以,第二种读字符串的时候有点问题,需要再做处理,因为写入文件时字符串是靠后写的,如%10s,你写入abc,存入文件的是“       abc”,而我们需要的是"abc",前面多了空格,所以你要处理下,要不然比较时字符串是不等的。

回答2:

包含头文件fxtream

ifstream cin("*****.txt");
string a;
int main()
{
cin>>a;
...............
return 0;
}
此时,*****.txt里的内容就会被读入到字符数组a。

回答3:

//定义一个结构链

struct hang
{

int h[5];
struct hang *next
}
hang *head, *p
int i;
FILE *f

....//open file
head=new(hang);
p=head;
for (i=0;i<10;i++)
{
fscanf(f, "%d,%d,%d,%d,%d\n",p.h[0],p.h[1],p.h[2],p.h[3],p.h[4]);
if (i<9)
{

p.next=new(hang);
p=p.next;
}

}
....