文字コード総合スレ part15 (338レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

82: デフォルトの名無しさん [sage] 2024/11/10(日) 17:29:55.58 ID:x8h1RQEe(1/4) AAS
>>78-81
ありがとうございます

putsで文字化けしていたのは、コマンドラインでソースutf-8指定したら文字化けは直りました
だけど、引数が受け取れないですね

#include <stdio.h>

int main(int argc, char **argv) {
puts("テスト0😊");
for (int i = 1; i < argc; i++)
puts(argv[i]);
}

$ cl -utf-8 ConsoleApplication1.c
$ ./ConsoleApplication1.exe テスト1😊 テスト2😊
テスト0😊
???1??
???2??

$ ./ConsoleApplication1.exe テスト1😊 テスト2😊 > out.txt
$ cat out.txt
テスト0😊
???1??
???2??

(システムロケールEnglishでの環境です)
83: デフォルトの名無しさん [sage] 2024/11/10(日) 17:34:04.13 ID:x8h1RQEe(2/4) AAS
デバッグで確認したところ、引数のテスト1😊 テスト2😊は受け取りの時点(argv[i])でアルファベット以外の各コードポイントが?になってます
84: デフォルトの名無しさん [sage] 2024/11/10(日) 17:39:37.64 ID:x8h1RQEe(3/4) AAS
WindowsTerminal
MSYSTEM=UCRT64のMSYS2 bashです

$ echo テスト1😊 テスト2😊
テスト1😊 テスト2😊
85: デフォルトの名無しさん [sage] 2024/11/10(日) 17:45:01.75 ID:x8h1RQEe(4/4) AAS
$ gcc ConsoleApplication1.c
$ ./a.exe
テスト0😊

$ ./a.exe テスト1😊 テスト2😊
Error: Command line contains characters that are not supported
in the active code page (1252).

UTF8 everywhereは厳しいですかね?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.948s*