以下是引用炎天在2017-10-4 10:54:31的发言:
#include <string.h>
#include <iostream>
using namespace std;
struct ps {
int age;
string name;
};
ps *p = new ps;
int main()
{
FILE *pa;
pa = fopen("a.txt", "w+");
scanf("%d,%s", p->age,p->name);
fwrite(&(*p), sizeof(*p), 1, pa);
rewind(pa);
fread(&(*p), sizeof(*p), 1, pa);
printf("%d, %s", (*p).age, (*p).name);
delete p;
system("pause");
return 0;
}
这段代码输入3 张三
程序会没响应。
程序代码:
#include <string>
#include <iostream>
using namespace std;
struct ps {
int age;
string name;
};
ps *p = new ps;
int main()
{
FILE *pa;
pa = fopen("a.txt", "w+");
if (pa == NULL)
{
printf("打开文件失败\n");
}
else
{
printf("打开文件成功\n");
}
//scanf("%d,%s", p);
cin >> (*p).age>>(*p).name;
fwrite(&(*p).age, sizeof((*p).age), 1, pa);
fwrite(&(*p).name,sizeof((*p).name),1,pa);
fread(pa, sizeof(char), 1, pa);
//printf("%d, %s", *p);
cout << (*p).age<<' '<< (*p).name;
fclose(pa);
delete p;
system("pause");
return 0;
}
我还有问题。
输入3 中华人民共和国后
a.txt文件中是这样的,有好多个屯是怎么回事