C文件操作,结构体
数据结构老师下发一个求最优树的问题,我想直接读他给的文件内容,但是怎么个读法行得通吖?(在我不知道他的存储的格式的情况下)
截个图详细说明:
然后我想用二维整数组存放它们之间的距离:
(只学过C/C++,)先谢谢各位 文件 结构体 C/C++
[解决办法]
读取文件
std::vector<char> v;
if (FILE *fp = fopen("filename", "r"))
{
char buf[1024];
while (size_t len = fread(buf, 1, sizeof(buf), fp))
v.insert(v.end(), buf, buf + len);
fclose(fp);
}
[解决办法]
简单实现如下:
#include <stdio.h>
#define N 1024
void main()
{
FILE *fp;
char str[N];
int a;
char temp[50];
int k=0;
fp=fopen("D:\\1.txt","r");
if(fp!=NULL)
{
fgets(str,N,fp);//先放入str数组中
}
for(int i=0;str[i]!='\0';i++)//对数组进行处理
{
if(str[i]!=' '&&str[i]!=',')
{
if(str[i]>'0'&&str[i]<'9')
{
a+=str[i]-'0';
}
else
temp[k++]=str[i];
printf("%c",str[i]);
}
else
if(str[i]==' ')
{
temp[k]='\0';
//可以把用copy函数给结构体中的city赋值
//把a赋值给结构体中的number
a=0;
}
}
}
[解决办法]
读取文件std::vector<char> v;
if (FILE *fp = fopen("filename", "r"))
{
char buf[1024];
while (size_t len = fread(buf, 1, sizeof(buf), fp))
v.insert(v.end(), buf, buf + len);
fclose(fp);
}
……我学的是.h头文件格式,std::这个还真有点不明白;不过我问的是,拿第一个城市的文件说,欲读取”北京“到我定义的结构体的为字符型变量city里面,0到结构体的int number里面;然后每个逗号后面的内容都如此放在结构体struct node【i】中.怎么弄好?
逐条读入记录(逗号分割)
每条记录中以 空格分割不同的 item
重复直至读入所有记录