严重性代码说明项目文件行抑制状态错误 C2676 二进制">>":"std::ifstream"
Severity Code Description Project File Line Suppression State Error C2676 binary '>>': 'std::ifstream'
我正在尝试在header文件中定义函数,该函数需要2个参数,std :: ifstream and char* ..函数将检查char* type type type type参数是否在文件中,然后返回true true否则它将返回false。编译器向我展示了有关">>"操作的错误消息,该操作带有ifstream Reference
p.s注意,我正在定义外部我自己的标头文件
首先,我已经传递了fstream的参数,然后更改为ifstream,但相同的错误消息
bool check_for_valid_name(std::ifstream &file, char* name) {
char data[sizeof(name)];
while (file.eof()) {
file >> data;
if (strcmp(data, name)) {
return true;
}
}
return false;
}
它应该正常工作,只需返回false或trim
可能,您会遇到错误,因为您的while
条件是错误的。您必须读取文件,直到文件结束。但是,在第一次尝试时,您获得了false
。另外,这是我在阅读文件数据之前的建议。
- 请确保该文件已经存在。
is_good()
将被使用。 - 如果功能参数在函数中不会更改,请使用
const
。对于您的情况bool check_for_valid_name(const std::ifstream &file, const char* name)
-
sizeof(name)
将被计算为指针,因此根据您的体系结构可能是4或8个字节。如果不是您的预期长度,请使用strlen()
而不是此。 - 如果您的实现根本没有限制,请使用STD :: String而不是Char数组。它将帮助您摆脱所有C风格的功能。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 有根的二进制搜索树.保留与其父级的链接
- 多态二进制函数
- 正在读取二进制文件(is_open)
- visual在c++中将十进制数转换为二进制数
- C++十进制到二进制,如何转换
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 为什么二进制搜索在我的测试中不起作用
- 重载==不适用于二进制树
- 正在尝试重载二进制搜索树分配运算符
- 在C++中将类(带有Vector成员)保存为二进制文件
- EASTL矢量<向量<int>>连续的
- 如何从二进制文件中读取字符串
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 带有数组键C++的二进制映射
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 二进制数之和(使用C样式字符串)
- 如何从dicom文件中读取二进制数据