垃圾从一个简单的读取
Garbage from a simple read
int test = 0;
ifstream inFile;
inFile.open("hat.txt");
inFile >> test;
cout << test;
我在。exe运行的调试文件夹中有文件,该文件的文件是hat.txt。它只有一个数字。我的问题是为什么我得到垃圾当我输出?
EDIT -添加了失败行,它确实失败了。为什么会失败?
int test;
ifstream inFile;
inFile.open("hat.txt");
if ( inFile.fail() )
{
cout << "It Failed" << endl;
}
inFile >> test;
cout << test;
您的代码现在看起来很好,因为它有失败的检查。
为什么会失败?可能该文件不存在或权限错误。
我运行了这个代码。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int test;
std::ifstream inFile;
inFile.open("hat.txt");
if ( inFile.fail() )
{
cout << "It Failed" << endl;
}
inFile >> test;
cout << test;
return 0;
}
效果很好。如果hat.txt不存在或无法读取,那么我得到"It failed"。没有失败的检查,我得到随机数输出。
我想你的问题是它不能读取文件
在一个数字之后是否有一个结束行?
调试文件夹(您说hat.txt
所在的位置)也是您的工作目录吗?hat.txt
是否以任何方式被锁定(例如在应用程序中打开)?
看起来默认情况下使用read或getline将文本读入字符串。你可以使用ios::binary标志将ifstream转换为二进制。然后你可以设置一个缓冲区,然后读进去。然后您需要将其转换为文本输出。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 为什么一个简单的程序不能立即启动
- C++ - 在我尝试制作一个简单的计算器时有一个"uninitialized local variable y used"警告
- 为什么 MSVC C++编译器将一个简单的 Hello World 扩展为 4000 行汇编?
- 我写了一个简单的矢量程序,在其中我得到了以下输出。你能帮我理解它的输出吗?
- 如何使用 c++ 在命令行中创建一个简单的字符控制器?
- 对于 ~95% 写入/5% 读取线程安全的无序列图,有没有一个简单的解决方案?
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 创建一个简单的前向迭代器,该迭代器在循环缓冲区的"end"处自动换行
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 如何设置一个简单的CGAL+Qt程序
- 如何在一个简单的C++项目中使用Poco库
- 我创建了一个简单的程序,但有些地方不对劲
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 一个简单的 win32 多线程代码.这能行吗?
- 我正在尝试构建一个简单的程序来从 mysql 数据库中读取信息
- 创建一个简单的计算器,添加时遇到问题
- 我正在编写一个简单的客户端套接字应用程序,但在连接后服务器收到一个空缓冲区
- 为什么一个简单的"Hello World"风格的程序不能用Turbo C++编译?