2010-06-05 66 views
0

因爲你有一個接收參數的命令行可執行文件。這executalbe是widechar準備就緒,你想測試,如果這個參數之一有連字符的情況下開始,其中的一個選項:如何測試一個字符串是否有一個unicode字符?

命令-o富

你怎麼可以測試你的代碼中,如果你不」不知道主機使用的字符集? 對於給定的控制檯,不應該由widechar森林中的另一個char產生相同的HYPHEN表示法嗎? (在這種情況下,這將是一個野生焦炭:P)

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    std::wstring inputFile(argv[1]); 
    if(inputFile->c_str() <is an HYPHEN>) 
    { 
     _tprintf(_T("First argument cannot be an option")); 
    } 
} 

回答

2

在你的情況下,Windows會提供的命令行的UTF-16字符串,所以你不應該需要擔心的字符集。只需檢查(inputFile->c_str()[0] == L'-'),你應該很好去。當然,UTF-16是一種可變長度編碼,但連字符由單個寬字符值表示。

相關問題