最近做和pagerank有关的练习,需要用c++导入边数据进行后续处理。边数据用tsv格式存储,每一行为两个点数据,中间用制表符分割。尝试了几种方法后选择了fscanf方法进行读取,具体代码如下:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct edge{
int src;
int dst;
}edge[1000];
int main()
{
FILE *fp;
fp=fopen("edge.tsv","r");
int i=0;
for(i=0;i<1000;i++)
{
fscanf(fp,"%d%d",&edge[i].src,&edge[i].dst);
cout<<"src:"<<edge[i].src<<" "<<"dst:"<<edge[i].dst<<endl;
if (feof(fp))
break;
}
fclose(fp);
system("pause");
}