测试行尾和空格
Test for end of line and white space
我正在通过 for 循环读取一行中 5 个双精度的文件并将它们存储到结构向量中,有时该行上的双精度值少于 5 个。该文件看起来像
111.111 222.222 333.333 444.444 555.555
666.666
777.777(空格) 888.888 999.999
struct temp_struct{
double d1,d2,d3,d4,d5
};
vector<temp_struct> data;
for(int i=0;i<3;i++)
File>>data.at(i).d1>>data.at(i).d2>>data.at(i).d3>>data.at(i).d4>>data.at(i).d5;
有没有办法测试666.666之后以及777.777和888.888之间的空白空间。
因为现在我读取它的方式,在 666.666 之后,它将转到文件的下一行并读取 777.777 和 888.888 999.999,以便结构看起来像data.at(1).d1=666.666 data.at(1).d2=777.777 data.at(1).d3=888.888 和 data.at(1).d4=999.999 我宁愿
data.at(1).d1=666.666, break because of end of line
data.at(2).d1=777.777, data.at(2).d2=0, data.at(3).d3=888.8888
我正在用VS2010编程C++
解析基于行的文本的常用方法是将std::getline()
与std::istringstream
结合使用,例如:
for (std::string line; std::getline(in, line); ) {
std::istringstream lin(line);
// parse the line using `line`
}
不过,还有其他方法。例如,可以将流设置为不考虑换行空格:这样,在遇到换行符时尝试读取数字,尝试读取值将失败!更改被视为空格的方法是安装具有自定义版本的自定义std::locale
对象 std::ctype<char>
.
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 2D数组来自文本输入,中间有空格
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 数据成员SFINAE的C++17测试:gcc vs clang
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么二进制搜索在我的测试中不起作用
- 从父数组测试用例构造二叉树失败
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 试图对缓存进行跨步测试,但程序并没有结束
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为测试目标创建具有不同源文件夹的文件
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 如何仅测试字符数组的字母(包括空格)
- 测试行尾和空格
- c++ cin.ignore忽略空格、数字和字符来测试回文
- c++字符串,测试[0]是否为空格,问题
- 测试字符串中的空格字符