腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
如何将用
linux
编写的std::wstring读入windows
、
、
、
、
我们有一个在Windows和
Linux
上运行的程序。它将std::wstring以二进制形式写出到文件中。我们需要能够读入从
linux
写入windows的文件。我们把字符串写成一个
wchar_t
列表。在
linux
上,每个
wchar_t
占用4个字节。在Windows上,每个
wchar_t
占用2个字节。当把
linux
写的文件读到Windows中时,怎么把4字节的
wchar_t
放到2字节的
wchar_t
中呢? 谢谢,亚当
浏览 7
提问于2011-09-26
得票数 2
回答已采纳
1
回答
条件跳转或移动取决于std::wistringstream流的未初始化值。
、
、
::char_traits<
wchar_t
>, std::allocator<
wchar_t
> >&,
wchar_t
) (in /usr/lib/x86_64-
linux
-gnu/libstdc++.::char_traits<
wchar_t
>, std::allocator<
wchar_t
> >&,
wchar_t
) (in /usr
浏览 1
提问于2018-08-16
得票数 5
回答已采纳
2
回答
C/C++中的跨平台unicode :使用哪种编码?
、
、
、
、
在Windows中,
wchar_t
默认被编码为UTF-16,在
Linux
中被编码为UCS-4 (如果我错了,请更正我)。当然,这在
Linux
中不适用于
wchar_t
,因为默认情况下,
Linux
中的
wchar_t
是4个字节。因此,编写和读取sqlite需要对
Linux
进行转换。目前,Windows/
Linux
的代码中出现了异常。我希望坚持在
wchar_t
中存储数据的标准想法: Windows中的
wchar_t</e
浏览 3
提问于2012-06-28
得票数 9
回答已采纳
1
回答
Clang3.5.0std::花环编译错误
、
、
、
/lib64/gcc/x86_64-unknown-
linux
-gnu/4.9.2/../../../.., : basic_regex, std::regex_traits<
wchar_t
> >::ba
浏览 1
提问于2014-12-21
得票数 2
回答已采纳
1
回答
C#单传递字符串生成器,以填充C++中的unicode内容
、
、
、
、
在windows上运行得很好,但是在带有mono的
Linux
上却不起作用。Console.WriteLine("Result: {0}",myString.ToString());WRAPPER_API int _stdcall MyFunction(
wchar_t
Linux
: 在mono上,返回的字符串只包含字符串的第一个字符。我尝试使用ANSI字符串将
wchar_t
*更改为char*,将wcscpy更改为strcpy,并使用将其工作。我的测试环境
浏览 3
提问于2016-03-14
得票数 3
回答已采纳
1
回答
C++ std库与不同C++标准的连接
、
、
、
、
我正在用Cygwin编写一个项目(GCC v4.5.0),我有一个奇怪的链接问题。我希望有专业知识的人能帮上忙。 但是,只有当我使用gcc编译器标志编译时,链接才会失败:当
浏览 2
提问于2011-01-26
得票数 6
回答已采纳
2
回答
wchar_t
for
Linux
与for Windows的区别与转换
、
、
、
我从和线程中了解到,在Windows中,
wchar_t
是16位的,而对于
Linux
,
wchar_t
是32位的。我有一个客户端-服务器架构(只使用管道,而不是套接字)--其中我的服务器是基于Windows的,而客户端是
Linux
。作为第一个简单的方法,我使用了mbstowcs(),希望将
wchar_t
*返回到Windows服务器端。然而,这个LPWSTR (我在我的
linux
浏览 12
提问于2012-11-28
得票数 0
2
回答
Unicode与
wchar_t
在C++中的不一致性
、
、
、
虽然
wchar_t
在支持不同编译器的情况下是不一致的,但是在
wchar_t
/GCC中至少在
Linux
上可以安全地假定
wchar_t
实现和大小相似吗?尽管
wchar_t
大小在位大小(32位/64位)方面具有系统架构依赖性,但在
Linux
上的宽字符类型(GNU/GCC)实际上依赖于编译器还是依赖于libstdc++库?我的意思是更改或升级我应该考虑的
wchar_t
在大小和支持方面可能不像预期的那样工作 虽然是另一种选择,但它能与std::st
浏览 3
提问于2010-12-22
得票数 1
回答已采纳
1
回答
未定义对std::basic_string的引用
、
、
、
、
-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgnutls -lgcrypt -lz -lpthread -lm -lcrypt -L/lib/x86_64-
linux
-gnureturned 1 exit status$ find /usr -name libstdc++.a /usr/lib/gcc/x86_64-
linux
-gnu/4.6/32/
浏览 1
提问于2013-07-05
得票数 3
回答已采纳
4
回答
为什么
wchar_t
在
Linux
/相关平台的代码中没有被广泛使用?
、
、
这引起了我的兴趣,所以我要问--为什么
wchar_t
在
Linux
/
Linux
类系统上没有像在Windows上那样广泛使用呢?具体来说,Windows API在内部使用
wchar_t
,而我认为
Linux
不使用,这反映在许多使用char类型的开放源码包中。我的理解是,给定一个需要多个字节来表示的字符c,那么在char[]形式中,c被拆分到char*的几个部分中,而在
wchar_t
[]中,它形成一个单元。那么,总是使用
wchar_t
不是更容易吗?
浏览 1
提问于2011-01-04
得票数 16
回答已采纳
1
回答
如何使
wchar_t
16位与clangforLinux64?
、
、
我不能在64位
linux
上做clang来将
wchar_t
编译成16位。printf("%i ", sizeof (
wchar_t
));clang++ -fshort-char test.cpp我的问题是如何使
wchar_t
到16位。#define
wchar_t
unsigned short
浏览 3
提问于2014-01-18
得票数 2
回答已采纳
1
回答
在
Linux
上与
WCHAR_T
一起使用iconv
、
、
、
我在
Linux
上有以下代码:在使用iconv将数据转换为宽字符串(
wchar_t
)之前。我试图了解它实现了什么,以便将其移植到参数1 ( "
WCHAR_T
" )上的选项不存在的平台上。在
Linux
上有
wchar_t
的单一表示吗?,这使用什么代码页?我希望得到这样的答案:“你显示的代码是做以下两件事的缩写,而不是……”然后,我可能可以完成这
浏览 2
提问于2020-05-26
得票数 0
1
回答
Linux
gcc 4.9 wstring未定义
、
、
我正在尝试将一些代码移植到
Linux
,它最初是在Microsoft Visual Studio中编写的。代码使用std::wstring,当我尝试编译时,我得到以下错误:,它被声明为 myfunc(const std::wstrin
浏览 3
提问于2014-09-29
得票数 2
1
回答
char16_t打印
、
、
、
、
最近,我在将Windows应用程序移植到
Linux
时遇到了一个问题,因为这些平台之间的
wchar_t
大小存在差异。我尝试使用编译器开关,但打印这些字符时出现了问题(我假设GCC wcout认为所有的
wchar_t
都是32位的)。cout << (
wchar_t
) c; 这似乎不是一个大问题,但它困扰着我。
浏览 1
提问于2011-04-10
得票数 11
1
回答
内存操作不正确?
、
wchar_t
* clean(
wchar_t
out[], const
wchar_t
in[]) int n = wcslen(in); wcscpy(str, in);
wchar_t
*state;
wchar_t
*word = wcstok(str, L不幸的是,程序落在这个函数的最后几行,出
浏览 0
提问于2013-03-20
得票数 1
回答已采纳
4
回答
在
Linux
上使用UTF-16的
wchar_t
?
、
、
、
、
在
Linux
上使用
wchar_t
*存储UTF-16编码的文本有意义吗?一个明显的问题是,
wchar_t
在
Linux
上是4个字节,而UTF-16通常每个字符占用2个字节(有时是两组,每组2个)。看起来事情搞乱了,因为在Windows上
wchar_t
是两个字节,但我只是想再检查一遍,因为它是一个相当昂贵的商业库,可能是我就是不明白一些东西。
浏览 2
提问于2012-10-13
得票数 5
回答已采纳
1
回答
在z/OS上转换为宽字符
、
、
、
我在
Linux
上有以下代码:在使用iconv将数据转换为宽字符串(
wchar_t
)之前。我不知道用什么值来代替"
WCHAR_T
"。在z/OS上,EBCDIC4字节长(像我这样编译64位时),所以我假设我可能需要一些与UTF32或UCS4等效的
wchar_t
变体,但是我找不到可以工作的东西。如果任何熟悉上面的代码在
Linux
上如何工作的人,可以总结一下它的作用
浏览 2
提问于2020-05-16
得票数 1
2
回答
不同平台上的
wchar_t
编码
、
在不同的平台(在我的例子中是Windows和
Linux
)上,我遇到了编码问题。在windows上,
wchar_t
的大小是2字节,而在
Linux
上是4字节。我如何“标准化”
wchar_t
,使其在两个平台上保持相同的大小?如果没有额外的库,是否很难实现?目前,我的目标是printf/wprintf。数据通过套接字通信发送。谢谢。
浏览 2
提问于2013-07-29
得票数 4
回答已采纳
4
回答
static_cast
wchar_t
* to int*或short* -为什么它是非法的?
、
、
在Microsoft VC2005和g++编译器中,下列情况都会导致错误:
wchar_t
*foo = 0;结果在 error C2440: 'static_cast' : cannot convert from '
wchar_t
*' to 'unsigned在Mac或
Linux
g++上:
wchar_t</
浏览 4
提问于2009-08-06
得票数 4
回答已采纳
1
回答
使用语用包时wcslen()返回不正确的结果
、
、
、
、
我发现当源是
wchar_t
数组时,wcslen()返回gcc的不正确结果(在msvc上正确),它是packed的成员。我知道在
linux
(
Wchar_t
) == 4和windows 2上,但仍然无法理解打包如何影响wcslen()函数。如果我将
wchar_t
/wcslen更改为char/strlen,它将按预期工作。buf[9]; { const
wchar_t
* s = L"05.00.06&q
浏览 5
提问于2019-10-22
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C语言/C加加程序员编程学习之unicode编码与ansi编码
Linux DNS 查询剖析 Linux 中国
Manjaro Linux 22.0 发布|Linux 中国
Alpine Linux 3.18 发布|Linux 中国
Linux基础(3)linux命令3
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券