用字符读出,判断是否为‘,’,是的话就转化为结构体中的一个变量值,再读取判断,直到都读出来。
写入文件的时候每个数据的字节数都是定好的,直接读取一行,然后用memcpy(char* des,char* str,int n)读取,memcpy(des,str+n,m);从第n个字节读m个字节。
两种都可以,第二种读字符串的时候有点问题,需要再做处理,因为写入文件时字符串是靠后写的,如%10s,你写入abc,存入文件的是“ abc”,而我们需要的是"abc",前面多了空格,所以你要处理下,要不然比较时字符串是不等的。
包含头文件fxtream
ifstream cin("*****.txt");
string a;
int main()
{
cin>>a;
...............
return 0;
}
此时,*****.txt里的内容就会被读入到字符数组a。
//定义一个结构链
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;
}
}
....