问题标签 [ifstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C ++从文件流中读取无符号字符
我想从二进制文件中读取无符号字节。所以我写了下面的代码。
这导致读取始终为 0 字节,如变量计数所示。
网上似乎有参考资料说我需要设置语言环境才能完成这项工作。我不清楚如何做到这一点。
相同的代码使用数据类型“char”而不是“unsigned char”工作
上面使用 unsigned char 的代码似乎可以在 Windows 上运行,但在 colinux Fedora 2.6.22.18 中运行失败。
我需要做什么才能让它在 linux 上工作?
c++ - ifstream::open 在 Visual Studio 调试模式下不起作用
我一直在讨论关于 SO 的 ifstream 问题,但我仍然无法阅读一个简单的文本文件。我正在使用 Visual Studio 2008。
这是我的代码:
通过检查 .txt 的值,我确认input.txt文件位于正确的“工作目录”中argv[0]
。Open 方法是行不通的。
我在调试时也遇到了麻烦-我应该无法设置手表吗infile.good()
?infile.is_open()
我不断得到
编辑:使用 .CPP 文件中的完整代码更新代码列表。
更新:该文件不在当前工作目录中。这是项目文件所在的目录。把它移到那里,它在 VS.NET 中调试时工作。
c++ - 在 C++ 中按完整路径打开文件
我希望用户给我文件所在的完整路径,而不仅仅是文件名。如何以这种方式打开文件?
是这样的吗:
这似乎不起作用。
c++ - C ++如何读取具有给定偏移量的对象?
现在我有一个包含许多数据的文件。而且我知道我需要的数据从位置 (long)x 开始,并且具有给定的大小 sizeof(y) 我怎样才能获得这些数据?
c++ - Windows std::ifstream::open() 问题
我知道有一些关于 std::ifstream::open() 的问题,但答案并没有解决我的问题。它们中的大多数都是特定于 Win32 的,我使用的是 SDL,没有触及任何特定于操作系统的功能(......没有包含在 SDL 中)。
问题是: std::ifstream::open() 似乎不再起作用,因为我已经从 Dev-C++ 切换到 Code::Blocks (我一直在使用相同的 MinGW-GCC 后端),以及从 Windows XP 到 Vista。(它也可以与 OS X / xcode(GCC 后端)完美配合。)
我的项目链接到一个静态库,其中 #includes <string>、<iostream>、<fstream> 和 <cassert>,然后调用静态库中定义的功能,然后调用 std::ifstream::open () (这次是直接)。在此之后,流计算为 false(使用隐式 bool 转换运算符和 good() 方法)。
代码:
stdcout.txt 说:
打开 'D:/My projects/Test/test.cfg'...
当我打开 stdcout.txt 并将带有文件名的路径复制粘贴到开始菜单/运行时,文件会按原样打开(我不完全确定这是多少诊断值;另外,地址是转换为以下格式:file:///D:/My%20projects/test/test.cfg)。
我还尝试用双反斜杠转义序列替换 '/'(同样,斜杠以前也可以正常工作),但结果是一样的。
这是一个调试版本,但我使用的是从 main() 的 argv[0] 获取的整个绝对路径。
我哪里出错了,我需要做些什么来解决它?
c++ - ifstream seekg Beyond end 不会在 VS 2008 Express 中返回 eof?
在 VS 2005 中,我有一些如下所示的代码:
该代码在 VS 2005 中运行良好,但在 VS 2008 Express 中失败。据我所知,VS 2008 在代码搜索到文件末尾后没有返回 eof() 。我错过了什么吗?我通过添加显式检查来修复它以查看查找位置是否超过文件大小,但我想确保我正确理解 ifstream。
c++ - MSVC++7.1 中的 ifstream.read() 与 ifstream.readsome()
我只是使用了一些在 Linux 下开发的文件阅读器的旧代码,并尝试在我用 MSVC++7.1 编译的 Windows 项目中使用相同的代码。编译的代码没有任何问题,但是根据 Windows 上的文件阅读器,该文件似乎是空的。
我将问题追踪到 ifstream.readsome() 没有从文件中读取任何内容,而没有在流上设置任何错误标志。下面提供的代码可以在 Linux 和 Windows 上编译,但 Linux 可以按预期工作。
代码打开一个文件并读取文件的前 512 个字节,read()
一次使用readsome()
. 两个结果都存储在两个向量中,在程序结束时进行比较。预期的结果是两个向量相等。
该程序在 Windows XP 上的输出结果贴在源代码下方。
如果有人有任何想法或猜测此代码中可能出现的问题,我很想听听他们的意见。
demo的完整源代码:
Windows XP 上的输出:
c++ - 将字符串放入 ifstream 方法中
我正在学习 C++,当我尝试在ifstream方法中使用String时遇到了一些麻烦,如下所示:
这是完整的代码:
这是Eclipse的错误,方法前的x:
但是当我尝试在 Eclipse 中编译时,它会在方法前添加一个x,这表示语法错误,但语法有什么问题?谢谢!
c++ - problem opening file c++
Must be a simple answer but I am at a loss, here is the code that is returning an error. I have tried with and without the starting slash.
I won't know the full path, I want it to be relative from the exe, and that is the relative path. I tried escaping the slashes.
My problem is that i get "error opening file" when the file is there. why is it failing?
thank you