C++で解析する方法ヌルで終了するUnicode文字列のリストは2つのNULL文字で終了しますか?ダブルNULLで終わる文字列のリストを返します
-2
A
答えて
1
Raymond Chen's blog上のこの小さな例があります(おそらく驚くことではないが、二重ヌル文字列を終了する」をGoogleで最初に発見されました、 「):
ターミネータとして空の文字列と文字列の本当に リストとして二重ヌルで終了する文字列のこの再解釈が終了し、二重ヌルで終了する文字列の中を歩くために コードを書くことになり電子 単純明快:
> for (LPTSTR pszz = pszzStart; *pszz; pszz += lstrlen(pszz) + 1) { ...
> do something with pszz ... }
LPTSTRとlstrlenは_UNICODEが設定されているか否かに応じて、変更するラッパーです。
1
あなたは、単に文字列のリストを構築し、1が空になると中止:
std::vector<std::string> result;
result.push_back(std::string());
while (std::cin) {
char c = std::cin.get();
if (c == 0) {
if (result.back().empty()) { result.pop_back(); return; }
else result.push_back(std::string()); }
} else {
result.back().push_back(c);
}
}
関連する問題
- 1. System.Text.Encoding.Unicode.GetStringからnullで終わる文字列を取得する
- 2. DllImport nullで終了した文字列を返すAccessViolationException
- 3. Perl NULLで終了する文字列
- 4. C:Eclipse/gdbとNullで終わる文字列
- 5. リスト内の文字列要素をダブル 'a'で削除する
- 6. apiでstd :: string_viewを使用すると、nullで終わる文字列が返されます。
- 7. null終了文字列とx86アセンブリ言語でヌルで終わらない文字列との違い
- 8. null文字列の配列を終了します
- 9. Pythonで終わる文字列のパターンテスト
- 10. R:文字列の1つで終わる文字列
- 11. 文字列の終わりから行末までの文字列の終わりまでのスライシング
- 12. javaで文字列とダブルの両方を返す方法
- 13. ConfigurationManagerは文字列値の代わりにnullを返します
- 14. $ {で始まり、}で終わる文字列を抽出する
- 15. 文字列内のC文字列ポインタがNULLで終了する方法は?
- 16. Lexで文字列 "lngt"で終わる文字列を取得する
- 17. C#の文字列は空の文字列で終わりますか?
- 18. 文字列が ";"で終わるときの部分文字列エラーまたは ""
- 19. 正規表現 - 文字列で始まり文字列で終わる
- 20. 特殊文字で始まり、終わる文字列を検索するC#
- 21. 文字列をループして特定の文字で終了する新しい文字列を返す方法
- 22. 特定の文字で始まり、終わる文字列を見つける
- 23. Javaの文字列の終わりを確認します
- 24. 文字列メソッドがnullを返す
- 25. スプリングデータMongoは文字列の代わりにリストを返します
- 26. 特殊文字で終わる分割文字列 - Java
- 27. ibase_query XML文字列の代わりにHEX文字列を返します
- 28. 文字列としてダブル値を文字列にキャストできません
- 29. '^ M'文字列の終わり
- 30. 抽出文字列の特殊文字で始まり、終わる
もっと具体的になることができますか?文字列のリストは2文字の "文字列"で終了しますか? Unicode?それがutf8の場合、2つのヌル文字からなる文字列はありません。 – Chris
どのような文字列ですか?適切なC++文字列、または*古いskool * C文字列? –
これまでに試したことを教えてください。 –