问题标签 [wifstream]

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.

0 投票
1 回答
1945 浏览

c++11 - 如何在 shared_ptr 之间进行转换到 C++ 中的文件 *?

我试图在我的应用程序中多次使用 FILE 指针,尽管我创建了一个函数并将指针传递给它。基本上我有这段代码

这是重复的,现在我想要这样的东西:

和功能:

这不简单。我尝试使用&*fp而不是,fp.get()但仍然没有运气。

0 投票
0 回答
459 浏览

c++ - std::wstring(来自 wifstream),规范。字符

我需要一个来自 std::wifstream 的 std::wstring,因为 wifstream 包含特殊字符,例如:ä,ê

等等。

我有一个代码

但是,它不会像我希望的那样以特殊字符读取

EG,该文件包含字符,如 ä 和 ê,结果为

我认为,in 文件是 UTF-8。

有什么想法吗?:)

0 投票
5 回答
1703 浏览

c++ - 如何将非英语字符串写入文件并使用 C++ 从该文件中读取?

我想将 a 写入std::wstring文件并需要将该内容读取为std:wstring. 当字符串为L"<Any English letter>". 但是当我们有孟加拉语、卡纳达语、日语等任何类型的非英语字母时,问题就出现了。尝试了各种选项,例如:

  1. 将文件转换std::wstringstd::string并写入文件以及读取时间读取为std::string并转换为std::wstring
    • 正在写作(我可以从编辑中看到)但阅读时间出现错误的字符
  2. 写入std::wstringwofstream,这也无助于母语字符字母,例如 std::wstring data = L"হ্যালো ওয়ার্ল্ড";

平台是mac和Linux,语言是C++

代码:

0 投票
1 回答
874 浏览

c++ - 如何在 C++ 中加宽字符

我正在使用 SFML 用 C++ 编写游戏,我发现了一种支持法语字符的字体。但是,在程序中,我从文件中读取了所有文本以支持不同的语言,但我不知道如何将没有错误的文本提取为宽字符串。

这是我的代码:

0 投票
0 回答
321 浏览

c++ - 除非路径是硬编码的,否则无法打开 .mtl 文件

我的 .OBJ 文件模型加载器有问题。我正在阅读模型,但是在阅读 .mtl 文件时,只有在我对路径进行硬编码时,该文件才会打开。

我检查了给出的路径,它与我硬编码的路径匹配(效果很好)。但是,当我尝试让代码从 .obj 读取路径或只是在代码中构建它时,文件将无法打开。

波纹管是相关的代码。如果我错过了什么,请告诉我,我会提供。

下面的行来自 .obj 文件,用于 .mtl 路径。mtllib 模型\testTeapot\testTeapot.mtl

有效的硬编码路径是:

它在调用 LoadOBJ 时传递给方法('filePath')

当我对路径进行硬编码时,这有效,这一事实向我表明该问题与路径有关。有没有办法获得有关 std::wifstream 失败原因的更多信息?

提前感谢您的帮助,这已经让我发疯了好几天。

0 投票
3 回答
1128 浏览

c++ - c++ 读写文本文件很慢,有什么办法吗?

我目前正在为游戏编写代码,我有点卡在保存和加载关卡上。对于写作,我使用这段代码:

现在这还不错,在大约 5 分钟内生成世界并将其发送到 world.txt 没有任何问题,但我的加载(每行读取 world.txt 行)需要很长时间。大约需要 30 多分钟才能完全读取文本文件中使用的所有行std::wifstream及其getline()功能。它读取所有行并将它们添加到 a 中std::vector,然后从该向量创建“块”。块的创建在几秒钟内完成,但 wifstream 真的很慢。

这是worldLoad的代码:

关于如何优化这个的任何想法?我正在考虑只读取播放器周围的块类型,但这仍然需要我将所有块放入一个向量中,然后才能对其进行操作。

亲切的问候,珍妮丝

PS:DOUBLE2 是一个自定义变量,包含 2 个双打 DOUBLE2(double x, double y)

0 投票
1 回答
485 浏览

c++ - 将 GetLine 与 ifstream 一起使用 - 没有“getline”实例与参数列表匹配

我试图解决这个问题,出于某种原因,我不断得到这个:

没有“getline”实例与参数列表匹配。

我查过这个问题很多次,因为人们使用ofstream,或者他们不使用ifstream 对象(如果我说得对的话)具有getline 的第一个属性。我很迷茫。


0 投票
2 回答
99 浏览

c++ - 从 .txt 文件读取的 wstring 无法正确打印,但写回文件时就可以了

我正在使用 while !eof 循环从 .txt 文件中读取 wstring:

但是当我在 wcout 中打印它时,一些字符会变成其他字符。到目前为止, č 已经变成了 e(上面有一个向后的逗号), ě 变成了 i(上面有一个向后的逗号), š 变成了一个错误字符。首先我怀疑一些格式问题。但是当我将字符串写入一个新的 .txt 文件时,它完全没问题。

我也_setmode(_fileno(stdout), _O_U8TEXT);用来让 wcout 工作。

0 投票
2 回答
331 浏览

c++ - wifstream 中的 seekg 和 imbue 工作错误

我有一个如下文件:

我想用 C++ 阅读这一行:

我按以下方式编译它:

第一件事:似乎 wss.seekg(std::ios_base::end) 不会在文件末尾移动文件位置:

第二件事是当取消注释与语言环境相关的行时,getline 只读取 2 个字符:

我的编译器:

有谁知道这个文件出现上述问题的原因是什么?

0 投票
0 回答
473 浏览

c++ - 如何使用 wifstream 将包含 Unicode 的文本文件读入 wchar_t 指针?

我正在尝试使用wifstream将文本文件中的 Unicode 字符读入wchar_t指针数组。这是一个代码片段:

它不工作。返回的长度是 252,这是正确的文件大小(以字节为单位)。但是,数组仍然是空的。

以下条件返回true

我正在使用 g++ 在 Linux 上编译程序。我究竟做错了什么?谢谢您的帮助。