从包含特定字符串的行开始读取
Start reading from a line containing a specific string
我正试图从输入文件中读取一些xyz坐标。这是我的输入文件:
input.inp
POSITIONS
1.5 2.5 1.5 C
3.2 1.5 4.5 C
1.4 4.2 3.2 C
我想写一个函数,在输入文件中搜索包含" C"
的字符串,然后开始读取该行的坐标。我如何在c++中做到这一点?(我不想搜索单词POSITIONS
,因为输入文件的那个部分稍后可能会更改)。
ifstream file("in");
string line;
while (getline(file, line)) {
if (line.find(" C") == string::npos)
continue;
istringstream ss(line);
double x, y, z;
ss >> x >> y >> z;
if (!ss)
continue; // error
// ok
}
您应该读取string
变量的所有行。分析它,如果你想读取这些数字,你可以使用stringstream
(<sstream>
)
string a = "";
in >> a;
//检查线路末端是否有C或其他测试,然后检查
stringstream b(a, stringstream::in);
double c1=0, c2=0, c3=0;
b >> c1 >> c2 >> c3;
将读取该行的数字。
相关文章:
- 使 std::fstream 写入文件末尾,但从头开始读取
- 如何继续读取不同功能中的文件,而不是从头开始再次读取文件?
- 停止和开始读取/复制二进制文件
- 将文本文件读取到2D数组中,但数组开始为超过数组[39][]的任何内容输出胡言乱语
- 设置从文件中读取的开始和结束限制
- 读取从ifstream中n的位置n开始的二进制字节
- 常时等量启动失败.错误: 0x2 ;当开始从 2 个相机 PTGrey 读取时
- 为什么C++向量大小从 4294967296 开始,而调试器将其读取为 0?
- 从特定行开始将文件读取到对向量中
- C I2C芯片读取MCP9800突然开始失败
- 从第 3 位开始读取 int 的最快方法?
- 从.txt文件MFC C++的特定行开始读取
- 如何读取从特定索引开始的字符串
- 为什么开始读取返回错误ENOMEM(_B)
- C++ 使用 while 循环读取文件,从第 "x" 行开始
- C++ 使用开始和结束读取文件的特定部分
- 从包含特定字符串的行开始读取
- 从链表的末尾开始读取值,而不是从开头
- 如何开始读取文件中文本的某些部分,一旦找到文本之前的关键字
- 如何从文本文件中的某些行开始读取