这种类型的数组如何存入读出

img
这种类型的数组如何存入读出

就是字符串数组啊
如果3个name在一行,那么用sscanf拆分到数组就行了,写入就用fprintf


FILE *fp = fopen("test.txt","r");
char buf[400];
while(fgets(buf,400,fp))
{
   sscanf(buf,"%s\t%s\t%s",name[0],name[1],name[2]);
}
//如果每个名字一样,那么
int n = 0;
while(fgets(buf,400,fp))
{
  strcpy(name[n++],buf);
  if(n==3)
    break;
}

写入直接fprintf(fp,"%s\t%s\t%s\n",name[0],name[1],name[2]);
或者for(int i=0;i<3;i++)
      fprintf(fp,"%s\n",name[i]);

你把那些属性都翻番到结构体就可以,然后定义一个大的结构体数组,进行输入输出

#include <bits/stdc++.h>
using namespace std;
struct spf{
    char b[100];
    char name[3];
    char sex[3];
    char num[100];
    char zybj[3];

};
int main()
{
    spf a[3];
    int i;
    for(i=0;i<3;i++){
        cin>>a[i].name;
    }
    for(i=0;i<3;i++){
        cout<<a[i].name<<endl;
    }

    return 0;
}


比如只输入输出name

img