Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用gcc将字符串文字的编码设置为latin1_C++_C_Encoding_Iso 8859 1_Latin1 - Fatal编程技术网

C++ 使用gcc将字符串文字的编码设置为latin1

C++ 使用gcc将字符串文字的编码设置为latin1,c++,c,encoding,iso-8859-1,latin1,C++,C,Encoding,Iso 8859 1,Latin1,有没有办法强制gcc对字符串文本使用拉丁1编码?我可以使用u8前缀来获取utf-8编码的字符串文字,但如何使用iso 8859-1字符串文字?请不要误解我的意思,我不是在说源文件的编码如果你想在源文件中包含拉丁语文字,你应该直接使用\x。可能还有其他方法,但它们依赖于不可移植的选项来告诉编译器源文件的编码,并且您已经说过不想更改源文件的编码。但实际上,这是2014年,而不是1994年。如果可能的话,您应该避免使用拉丁语1,并且所有数据都采用Unicode编码。+1到,但由于问题是关于gcc的:

有没有办法强制gcc对字符串文本使用拉丁1编码?我可以使用u8前缀来获取utf-8编码的字符串文字,但如何使用iso 8859-1字符串文字?请不要误解我的意思,我不是在说源文件的编码

如果你想在源文件中包含拉丁语文字,你应该直接使用
\x
。可能还有其他方法,但它们依赖于不可移植的选项来告诉编译器源文件的编码,并且您已经说过不想更改源文件的编码。但实际上,这是2014年,而不是1994年。如果可能的话,您应该避免使用拉丁语1,并且所有数据都采用Unicode编码。

+1到,但由于问题是关于gcc的:

您需要使用以下选项:

-fexec-charset=iso-8859-1
您可能还希望使用
-finput charset
选项指定源文件的编码。最后,您可以指定宽字符的编码,但这确实是非常不推荐的


这三个选项都在中介绍。

如果您想要对字符串文字进行特定编码,您最肯定的是要设置源文件的编码,因为字符串文字在源文件中。