widechar

    2

    1答えて

    次の2つのプログラムでキャストがwint_tとwchar_tになることが保証されていますか? #include <locale.h> #include <wchar.h> int main(void) { setlocale(LC_CTYPE, ""); wint_t wc; wc = getwchar(); putwchar((wchar_t) wc

    0

    1答えて

    私は単位ラベルの束を印刷しようとしています。それらのうちのいくつかはギリシャ文字を含み、いくつかは他の面白いコードポイントを有する。 私はそれをトレースして、wctombの機能をどのように扱うかわからないようにしました。 UTF-16文字の8240:私は、例えばするwctombが使用するロケールを設定するにはどうすればよい char mb[10]; assert(0 <= wctomb(mb,8

    0

    1答えて

    値対、私のような、\uXXXXエスケープシーケンスを使用してきた:16進数はうまく動作するはず使用して、しかし wchar_t superscript_4 = L'\u2074'; // U+2074 SUPERSCRIPT 4 '⁴' wchar_t subscript_4 = L'\u2084'; // U+2084 SUBSCRIPT 4 '₄' Unicodeは16進数でエンコードさ

    6

    1答えて

    wchar_t,char16_t、またはchar32_tの値を狭いostreamに入力すると、コードポイントの数値が出力されます。 #include <iostream> using std::cout; int main() { cout << 'x' << L'x' << u'x' << U'x' << '\n'; } プリントx120120120。これは、basic_o

    3

    2答えて

    C++ 11には、/からUTF8表現にstd::wstringワイド文字の文字列を変換するツールがあります:std::codecvt、std::codecvt_utf8、std::codecvt_utf8_utf16など 1がで利用可能です通常のワイド文字のWindows文字列std::wstringをutf8に変換するWindowsアプリstd::string?ロケールを設定しないと常に動作しま

    1

    2答えて

    古いCACHE.DATデータベースをIntersystems Cache(2012.1.1 win32評価版)にロードしようとしています。私は名前空間とデータベースを作成することができました。私はいくつかのデータベーステーブルを照会することができます。 はしかし、他のテーブルのために、私は次のエラーを取得する: ERROR #5540: SQLCODE -400 Message: Unexpect

    19

    2答えて

    私は本の中でこの出くわし: wscanf(L"%lf", &variable); 最初のパラメータはwchar_t *の型です。 これは、最初のパラメータがchar *のscanf("%lf", &variable);とは異なります。 だから違いは何ですか。私はかつて "ワイド文字列"を聞いたことがない。文字列をそのまま出力しているもの(エスケープシーケンスのようなものは必要ありませんが)はC

    4

    2答えて

    私は表示するときにcomsumedされる文字列幅をカウントするbash関数が必要です。私の場合、Stringにはいくつかのワイド文字(たとえば中国語)が含まれている可能性があるので、 だから私は文字列の長さだけを使うことはできません。 function getDisplayWidth() { ??? } その後 "ABC" は3 を返すと "前后" wc -mを試してみてください

    0

    1答えて

    にCで を使用したwcslenながら const wchar_t *id = L"{{content}}\0"; wprintf(L"%s\n", wcslen(id)); をしながら、私はセグメンテーションフォルトを得る私はここで間違っているものを理解していない...誰かが私を啓発することができますか?

    4

    2答えて

    printfがワイド文字(wchar_t)でどのように機能するのかを理解しようとしています。 サンプル1:は #include <stdio.h> #include <stdlib.h> int main(void) { wchar_t *s; s = (wchar_t *)malloc(sizeof(wchar_t) * 2); s[0] = 42;