从c ++中读取文件行和数字

时间:2014-11-18 00:31:44

标签: c++

我是c ++的新手,我练习如何从文件中读取字符串第一行,然后是数字,然后是字符串第二行。

示例字符串

line one, number, string line two.

有人可以帮我创建一个while循环,我知道如何打开一个文件。只需要帮助读取一串字符串,然后再读一个数字和一个字符串。

while (?? file >> strline) {
   cout << strline;
   cout << number;
   cout << strline;
}

有关如何解决此问题的任何建议?提前谢谢。

2 个答案:

答案 0 :(得分:0)

可以使用std::getline

逐行阅读
string strline;
while(getline(file, strline))
{
    cout << strline;
}

如果您需要该号码的实际值,可以使用std::istringstream(必须#include <sstream>),例如

string strline;
if(getline(file,strline))
{
   // do something with the first line
}

if(getline(file,strline))  // read the second line
{    
    istringstream ss(strline);
    double x;
    ss >> x; // dump the number into x
}

if(getline(file, strline)) 
{
    // finally read the third line
}

或者,当然,可以使用for之类的

string strline;
int x;
for(int i=0; i<2; i++)
{
    istringstream ss;
    if(getline(file, strline))
    {
        if(i == 1) // second line
        {
            // do something here with ss, like
            ss >> x; // dump the number into x
        }
    }
}

答案 1 :(得分:0)

而(文件)
 {
 函数getline(文件,strLine中); //读取文件内部  cout&lt;&lt; strline&lt;&lt; ENDL; //打印文件中的所有内容

}