用ifstream读“*”

时间:2015-06-18 15:51:15

标签: c++ ifstream

我正在尝试从文本文件中读取类似

的列

name number1*number2

为什么像

Float_t value=0;
ifstream ifs("values.dat");
string line;
while(std::getline(ifs, line)) // read one line from ifs
{
    istringstream iss(line); // access line as a stream
    string dataname;
    ifs >> dataname >> value; // no need to read further

但它无法读取“* number2”部分,即它只传递xs number1值。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果操作员周围没有空格,您可以将星号作为单个char读取:

int number1, number2;
char op;
iss >> number1 >> op >> number2;

Demo.