我是C++编程的新手,我为阅读文件做了功课。我正在从这个cpp-tutorial: Basic-file-io网站学习C++。从特定行读取C++文件,然后将其存储在Vectors/Array中
我有,其内容看起来像一个文件:
Input: /path/to/the/file/
Information :xxx
Type of File: Txt file
Extra Information Value = 4
Development = 55
NId CommId
1 0
3 0
8 7
. .
And so on...
此文件包含有关10000 Nodes
及其相应的CommID
。 Node and CommId
在此文件中由TAb space
分隔。我用下面的代码读取该文件作为输入:
ifstream commFile("CommTest.txt");
if (!commFile)
{
// Print an error and exit
cerr << "Uh oh, CommunityTest File could not be opened for reading!" << endl;
exit(1);
}
while(commFile)
{
// read communityFile from the 6th Line
string strLine;
getline(commFile, strLine);
cout << strLine << endl;
}
我有两个问题:
- 我要开始从7号线读即1 0等。
- 如何从7行开始阅读?
我查了很多问题,遇到了,这是不可能的跳转到的行号,如果txt文件的线路长度不同。
我不知道如何使用seekg中,我需要数位之前,我可以达到7号线
Please let me know, how to do it?
我想在两个不同的整数节点和CommId。只要我有一个Integer中的Node,我想从Graph文件中搜索这个节点的邻居节点(这个文件也作为输入提供,并且它有边缘信息)。得到这个节点的邻居之后,我想存储收集到的邻居和它们的CommId(每个节点的commid可以从上面的文件中获得)。我想将它们作为一对存储在Array/Vector中。
例如:
读取此文件1 0之后。我将采取节点1并且将 从图形文件中找到节点1的邻居。对于节点1的每个邻居 ,我想将这些信息保存为一对。例如,如果 节点1有两个邻居节点。即节点63和节点55。如果节点63 属于commId 100和节点55属于CommId 101,一对 应该是:
[(63100),(55101)..]等。
学习链接,STackOverflow论坛建议我使用矢量,地图,图表的结构。在我的生活中,我还没有使用Vector/Maps,Structs。我知道Array是我之前使用过的。
请建议什么是最好的方法。
在此先感谢。每一个帮助将不胜感激。
你把循环计数器和跳过处理行读,直到计数器达到7? –