使用C 中的RWCString读取文本文件时获取rwboundserr
Getting RWBoundsErr while reading a text file using RWCString in C++
以下代码给我 rwboundserr 错误
在投掷'rwboundserr'
的实例后终止了终止。
bool filterData()
{
while(!inputFile_.eof())
{
currentLine_.readLine(inputFile_);
//outputFile_<<currentLine_(0,1)<<currentLine_(2,1)<<currentLine_(4,13)<<currentLine_(0,1)<<currentLine_(2,1)<<currentLine_(4,13)<<endl;
outputFile_<<currentLine_[0]<<currentLine_[2]<<currentLine_(4,13)<<currentLine_[0]<<currentLine_[2]<<currentLine_(4,13)<<endl;
}
return (TRUE);
}
但是,如果我使用评论的线路,一切都按预期工作。
currentline _ 是数据类型rwcstring
outputfile_和inputfile_具有InOut/Output TXT文件的路径
文本文件的示例内容
ABCD1234567890123 2017/10/16 13:40:28
WXYZ9876543210987 2017/10/16 13:40:28
请注意,每行的末端都有一个尾巴
即使我已经确定了这个问题的解决方案,我也想了解为什么此代码失败。
查看与RWCString
的operator<<()
操作员有关的文档:
RWvostream&
operator<<(RWvostream&, const RWCString& str);
RWFile&
operator<<(RWFile&, const RWCString& str);
Saves string str to a virtual stream or RWFile, respectively.
和RWFile
:
RWFile&
operator<<(RWFile&, const RWCString& str);
Saves string str to a virtual stream or RWFile, respectively.
...
RWFile&
operator<<(RWFile&, const RWInteger& x);
Saves the RWInteger x to a virtual stream or RWFile, respectively.
没有<<
运算符会服用char
。
currentLine_(0,1)
是一个可以与<<
操作员一起使用的子字符串
RWCSubString
operator()(size_t start, size_t len);
RWCConstSubString
operator()(size_t start, size_t len) const;
另一方面,currentLine_[0]
是char
char&
operator[](size_t i);
char
operator[](size_t i) const;
Returns the ith byte.
在您的情况下,尝试将char
与<<
操作员一起使用会导致RWBoundsErr
错误。
相关文章:
- C++ - 忽略并从其他文件获取数据
- 为什么从文件获取图标时应用程序有时会崩溃?
- 如何在 c++ 窗口中将参数和返回的退出值传递到批处理文件/从批处理文件获取返回的退出值
- Qt .pro 文件获取 Qtkit 名称
- 提升属性树:如何使用xml文件获取子树的子级
- 从C 中的二进制文件获取整数值时
- 如何在Windows上绕过主机文件获取真实的IP地址
- 如何使用 CPP/C# 从 VHDX 文件获取文件(或文件系统)
- 从读取到对象指针数组的文件获取段错误
- 是否可以从IOS项目中的cpp文件获取文件路径
- 将数据从头文件获取到源文件中的非成员函数中
- 从两个不同的文件获取输入时,输入会发生变化
- 从文件 C++ 获取整数
- 通过在 C++ 中使用发布模式二进制文件获取崩溃原因
- C++ 将值从文件获取到数组中
- 使用HTTP上载文件.获取错误:-HttpSendReuest 12005
- 正在从外部文件获取输入
- 读/写同一个文件(获取gmon.out)
- 从二进制文件获取输入时发生访问冲突错误
- 从特定文件获取函数指针