2010-04-09 109 views
0

我有一个文件,其中每行包含两个数字。问题是两个数字之间用空格隔开,但空格可以是任意数量的空格。一个,两个或更多。我想读取该行并将每个数字存储在一个变量中,但我不确定如何标记它。如何从文件中读取值。 tokenizer

i.e 
1 5 
3 2 
5 6 
3 4 
83   54 
23 23 
32 88 
8   203 

回答

4

阅读每一条线,棒线的内容转换为stringstream,然后读取两个int出列:

std::string line; 
while (std::getline(myfilestream, line)) 
{ 
    std::stringstream ss(line); 
    int i, j; 
    if (ss >> i >> j) 
    { 
     // use i and j 
    } 
} 

如果你知道一个事实,即每一行都会有正好两个int(即,你完全信任你的源),你可以直接从流中读取值。

+0

谢谢。完美地工作。 – user69514 2010-04-09 04:08:07