Cを使用すると、LC_CTYPEが設定されているかどうかを調べる方法はありますか?私はprintfを書き直していて、%lcはロケールが設定されているかどうかによって異なった動作をする必要があります。LC_CTYPEがCで設定されているかどうかを判断する方法はありますか?
1
A
答えて
1
LC_CTYPE
は環境変数です。プラットフォームに基づいて異なる環境変数にアクセスする通常の方法を使用することができます。 main
に例えば、POSIXの第三envp
引数:たとえば
char *getenv(const char *name);
:
int main(int argc, char **argv, char **envp);
または標準C89 getenv()
機能
#include <stdlib.h>
char const *get_lc_ctype()
{
return getenv("LC_CTYPE");
}
がgetenv(3)
によって返された文字列を変更しないように注意してください、それは未定義の振る舞いです。あなたがLC_CTYPE
を設定したい場合、あなたは(POSIX標準化ではなく、C-標準化された)setenv(3)
使用する必要があります。
int set_lc_ctype(char const *new)
{
return setenv("LC_CTYPE", new, 1);
}
0
を一般的な方法は、「はsetlocale()を」を使用することです。 manページから :
ロケールが空の文字列、「」、 環境変数に応じて設定されている修正すべきロケールの各部分がある場合。
したがって、あなたは
#include <locale.h>
// ...
char* lc_type= setlocale(LC_CTYPE, "");
でLC_TYPEを取得します
関連する問題
- 1. メソッドがJavaクラスでオーバーライドされているかどうかを判断する方法はありますか?
- 2. 要素がラップされているかどうかを判断する方法はありますか?
- 3. Route 53レコードセットが使用されているかどうかを判断する方法はありますか
- 4. STDINがシステムコールを通じてTTYであるかどうかを判断する方法はありますか?
- 5. 指定したdirがリムーバブルsdcardにあるかどうかを判断する方法はありますか?
- 6. Backbone.js - ルートイベントがページロードでトリガーされたかどうかを判断する方法はありますか
- 7. C++オブジェクトがtime_tであるかどうかを判断する方法
- 8. 文法のあいまい性を判断する方法が設定されていますか?
- 9. java.util.Timerが実行されているかどうかを判断する方法
- 10. dotnetcore-windowshostingがインストールされているかどうかを判断する方法
- 11. どのテキストメッセージが返信されているかを判断する方法はありますか?
- 12. WindowsでC/C++コンパイラがインストールされているかどうかを判断する方法
- 13. コントロールがフォームCの外にあるかどうかを判断する方法#
- 14. iPhoneがローミング中であるかどうかを判断する方法はありますか?
- 15. varがjavascriptのelementFinderオブジェクトであるかどうかを判断する方法はありますか?
- 16. DomainContextで何が変更されているかを判断する方法はありますか?
- 17. 設定で振動がオンまたはオフになっているかどうかを判断する方法はありますか?
- 18. タイプがコレクションのタイプであるかどうかを判断する方法は?
- 19. Javascriptオブジェクトがイベントであるかどうかを判断する方法は?
- 20. パッケージにOracleの状態があるかどうかを判断する方法はありますか?
- 21. Androidデバイスに実際のキーボードがあるかどうかを判断する方法はありますか?
- 22. Swiftに1年の閏月があるかどうかを判断する方法はありますか?
- 23. MySQLでフィールドが数値か文字列かどうかを判断する方法はありますか?
- 24. すべてのオブザーバブルがいつ解決されたかを判断する方法はありますか?
- 25. 何かがクリップボードにコピーされたかどうかを判断する方法
- 26. POSTが成功するかどうかを判断するためのRESTfulな方法はありますか?
- 27. ServletRequestがPreflightRequestであるかどうかを判断する方法?
- 28. 列が符号なしであるかどうかを判断する方法?
- 29. Django - モデルクラスが抽象であるかどうかを判断する方法
- 30. llvm:Typeがi8 *タイプであるかどうかを判断する方法?