问题标签 [wofstream]

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 回答
811 浏览

visual-c++ - wofstream 写入不必要的字节

到目前为止,我正在尝试使用 wofstream 以 utf-16 格式输出文件。但是我有一个问题要写一个新行。正如我在记事本和十六进制编辑器中发现的那样,Windows 上的新行对应于 2 个符号:LineFedd 和 CarrigeReturn(0x000A 和 0x000D)。试图以编程方式重复这一点会导致奇怪的结果。

ENDL 后面的文字完全乱了套。我用十六进制编辑器找到了原因。对于 ENDL,它写入 0D 0A 00 0D 00 。也就是说,由于某种原因,它会在换行符之前写入不必要的有害 0D 字节,这会导致所有后续字节向右移动,从而弄乱 utf-16 编码。

我不明白为什么会发生这种情况,我该如何解决

0 投票
2 回答
863 浏览

c++ - unicode程序中的c ++ wofstream问题

在vs2008中使用unicode编译如何用wofstream将许多语言字符输出到C++文件中?

我可以在 C 代码中做到这一点没问题,例如

当我打开文件时,一切都是正确的,但是在下面的 C++ 程序中,我得到的只是第一行,我尝试过 locale::global(locale("")); 结果相同。

我已经尝试以相同的结果插入它:-

0 投票
2 回答
645 浏览

c++ - C++ std::wofstream unicode 问题。

我使用 VS 2012 编写了这段代码:

在 my_log.txt 文件中,所有 unicode 符号都替换为“?????”。我想创建类似日志文件表的东西。如果我使用像“---”这样的标准 ASCII 符号,它会起作用,并且它们都会直接显示。我试图改变全球语言环境,但我没有成功。

0 投票
1 回答
100 浏览

c++ - C ++无法实例化codecvt以在txt文件中写入unicode

地狱0,

我需要用 c++ 编写一个支持 unicode 的文本文件(实际上是 csv 文件,但是是 nvm)。我必须修改的源代码已经很好用了,但只支持 ANSI。它与 wofstream 一起工作:

我到处找到的简单解决方案是:

但由于某些原因,我无法实例化 codecvt,visualStudio 告诉我参数不符合声明。我不明白为什么。我的一个猜测是我的编译器不支持它,但现在我不知道该怎么想。

我还尝试了另一种解决方案:通过手动编写第一个字符来声明文件以 utf-16 编码,如下所示:

它正在工作(导出的文件以 utf-16 编码)但它把我所有的写入文件都弄乱了,因为我需要在 utf-16 中“转换”我的 CString,但经过 2 天的尝试,我无法得到一些工作。

如果我可以使用第一个解决方案,那就太棒了,但我真的不明白为什么我的编译器不想这样做。我在互联网上找不到有同样问题的人。如果有人知道它为什么这样做,或者有另一个替代解决方案来编写 utf-16 txt 文件,那将非常感激 <3

0 投票
0 回答
85 浏览

c++ - std::wofstream 无法写入 long long

我有两个流,一个要读取,一个要写入(差异文件)。

std::streamoff将数据附加到文件工作正常,直到它使用变量进行写入操作。考虑到它是 a std::wofstream,我“正常”地输出变量,因为我已经在这个函数中做了几次。

什么可能导致这个问题?
请注意,如果我使用 astd::ofstream代替,这可以正常工作。

0 投票
1 回答
420 浏览

c++ - wofstream 只创建一个空文件 c++

我有一个 for 循环(如下),它应该使用 wofstream 将几个字符串输出到几个文件。不幸的是,它会创建文件但不会将字符串输出到文件中。文件总是空的。我已经浏览了很多类似的问题,但没有运气。任何帮助将不胜感激。我在使用 Visual Studio 2015 编写 UWP 应用程序的 Windows 10 机器上。

0 投票
1 回答
1038 浏览

c++ - 将 Unicode 字符串写入 txt 文件

我制作了一个简单的 txt 扫描仪,它将文本写入与我的选择相匹配的文件中。问题是写入文件而不是笔写入时,例如洀漀。在图片上,您可以看到例如:

在此处输入图像描述

0 投票
2 回答
1073 浏览

c++ - 无法使用 wofstream 将汉字写入文本文件

std::wofstream用来在文本文件中写入字符。我的字符可以有来自非常不同语言的字符(英文到中文)。我想将我的打印vector<wstring>到该文件中。如果我的矢量只包含英文字符,我可以毫无问题地打印它们。但是如果我写中文字符,我的文件仍然是空的。

我浏览了stackoverflow,所有答案基本上都说使用库中的函数:

我不能包含那个库,因为我在 5.11 版中使用的是 Dev-C++。我做到了:#define UNICODE在我所有的头文件中。我想这个问题有一个非常简单的解决方案。如果有人可以帮助我,那就太好了。

我的代码:

亲切的问候

0 投票
1 回答
126 浏览

c++ - c ++ wcout停止输出,wofstream在一些调用后也停止输出

我试图将内容输出到文件

wcout 停止输出任何东西(即使是“WideString 中的字符串”也没有输出),经过一定次数的调用,

(我对其进行了调试,它在停止输出文本后像预期的那样执行 wcout)

wofstream 也会在相同数量的调用后停止输出。

这是我第一次使用widestrings、streams 和couts。

感谢您查看这个。

0 投票
1 回答
340 浏览

c++ - 未能找到存在于 std::wstring 中的 wchar_t

当我遇到一个奇怪的行为时,我正在玩std::wstringand 。std::wfstream即,似乎std::basic_string<wchar_t>::find无法找到某些字符。考虑以下代码:

在这里,我只是读取文件的第一行input并将其写入output文件。程序运行前,第一个文件的内容aąbcćd为空,输出文件为空。执行代码后,输入文件成功复制到输出文件中。

令我惊讶的是,我试图在 中找到ć一封信buf并遇到了提到的奇怪行为。程序执行后,我确认输出文件中包含的正是aąbcćd,其中显然包含了提到的字符ć

然而,这条线的std::cout << buf.find(L'ć')表现并不像预期的那样。4考虑到 的内存布局,我没想到会得到 的输出std::wstring,但我也绝对没想到会得到std::string::npos。值得一提的是,用这种方法查找常规 ASCII 字符是成功的。

综上所述,上述代码正确地将输入文件的第一行复制到输出文件,但它未能在字符串中找到一个字符(返回 npos),该字符负责保存要复制的数据。为什么呢?是什么导致find这里失败?

注意:这两个文件在 Windows 上都是 UTF-8 编码的。