当前位置:  技术问答>linux和unix

cpp程序中中文的处理

    来源: 互联网  发布时间:2016-12-06

    本文导语:  有下面一段cpp程序, G_GERR_SETSTRW(GERR_SYS_FATAL, L"提取发生错误"); 源代码是utf8(with signature)格式的。在windows下编译正常. 后来移植到Linux下(redhat5.3版本),就产生了如下错误:程序中有游离的‘357’,如是将源码改...

有下面一段cpp程序,
G_GERR_SETSTRW(GERR_SYS_FATAL, L"提取发生错误");
源代码是utf8(with signature)格式的。在windows下编译正常.
后来移植到Linux下(redhat5.3版本),就产生了如下错误:程序中有游离的‘357’,如是将源码改成了ANSI格式的。
此时,windows下仍正常编译,但Linux下产生如下错误:converting to execution character set:无效或不完整的多字节字符或宽字符
又查了下资料,说源码应该改成utf-8(without signature)格式的,此时,Linux下正常编译,但是windows下就产生了如下警告:
 warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss


请问下,我到底该如何修改,才能让Linux和windows下都能正常编译呢?谢谢大家了

|
gcc加入编译开关
-finput-charset=gbk
试试

|
文件头,你有一个16进制的编辑器打开你的文件会发现多了一个文件头,而gcc是不支持有文件头的文件的。
VS是支持没有文件头的utf8文件的,你只能是忽略windows的那个警告了。

|
我们以前开发源代码只放英文版,其它语言通过 txt类文件由代码加载。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下安装程序/lib/cpp问题
  • debian下编译一个含 ifstream 的cpp程序
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 我在linux下用g++编译cpp程序总是报警告.是怎么回事呢?请大家帮帮忙.谢谢
  • 请问:对于目标文件的编译中,有a.h, b.h, c.h, a.cpp, b.cpp, c.cpp中,a.h中include 了b.h, c.h
  • vim生成的.cpp~是什么文件?我使用vim编辑的时候出现了好多.cpp~文件
  • 编译一个hello.cpp文件后 ,再list ,怎么会多了个hello.cpp~文件?
  • 请问如何在linux下一个工程里面使用多个cpp文件
  • linux如何查找多个目录下的cpp文件
  • .c文件与.cpp文件怎么混合编译哦....
  • g++ -o file *.cpp
  • 请问emacs中怎样用make来编译.cpp文件?
  • Java到C++的转换工具 J2cpp
  • php iis7站长之家
  • 求一个命令或脚本,删除多个多级文件夹下指定格式(*.cpp)外的其他文件
  • UML模型插件 Cpp2Uml
  • 如何在所有的.py .txt .cpp文件 中grep “abc”和“123”两个字符串?
  • 自动生成makefile的问题, C文件成功,但CPP文件失败,请指点.谢谢.
  • ActiveMQ-CPP
  • acl 扩展库 acl_cpp
  • 网络编程库 cpp-netlib
  • C/C++源码工具 cpp2html
  • JsonRpc-Cpp
  • PROC开发时 //注释编译不通过 如何设置使用cpp编译。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3