-1

À, É を下位の à, è に変換できる C 関数は?

tolower() と tolower() を試しましたが、どちらも機能しません。

4

2 に答える 2

2

towlower関数を使用できます。

/* towlower example */
#include <stdio.h>
#include <wctype.h>
#include <wchar.h>
#include <stddef.h>
#include <locale.h>

int main () {

    setlocale(LC_CTYPE, "");
    int i=0;
    wchar_t str[] = L"À TÉst String.\n";
    wchar_t c;
    while (str[i]) {
        c = str[i];
        putwchar (towlower(c));
        i++;
    }
    return 0;
}

出力は次のとおりです。

à tést string.

> AC プログラムは、起動時にそのロケール環境変数を継承します
。これは自動的に行われます。
ただし、これらの変数は、ライブラリ関数が使用するロケールを > 自動的に制御 しません。これは
、ANSI C が、すべてのプログラムがデフォルトで標準
の `C' ロケールで開始する > と述べているためです。環境によって指定されたロケールを使用するには、
setlocale を呼び出す必要があります。次のように呼び出します:
>
> setlocale (LC_ALL, "");

"" 空の名前は、環境変数に基づいてロケールを選択することを示しています。

于 2016-07-18T03:53:39.013 に答える