タグ付けされた質問 「stdstring」

std :: stringは、C ++標準ライブラリのバイトベースの「文字列」型で、<string>ヘッダーで定義されています。

30
std :: stringをトリムする最良の方法は何ですか?
私は現在、次のコードを使用std::stringsして、プログラム内のすべてを右トリミングしています。 std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); それは正常に動作しますが、失敗する可能性のあるいくつかのエンドケースはあるのでしょうか? もちろん、エレガントな選択肢と左トリムソリューションによる回答も歓迎します。
812 c++  trim  stdstring 




11
char *をstd :: stringに変換します
を使用して、でstd::string取得しfgets()たデータを保存する必要があります。これを行うには、char*戻り値をfgets()にstd::string配列に格納することを。これはどのように行うことができますか?
262 c++  stdstring 

4
constexprでstd :: stringを使用することは可能ですか?
C ++ 11、Ubuntu 14.04、GCCデフォルトツールチェーンを使用します。 このコードは失敗します: constexpr std::string constString = "constString"; エラー:constexpr変数 'c​​onstString'のタイプ 'const string {aka const std :: basic_string}'はリテラルではありません... 'std :: basic_string'は自明でないデストラクタを持っているためです それを使用することが可能であるstd::stringにconstexpr?(どうやらそうではない...)もしそうなら、どうやって?で文字列を使用する別の方法はありconstexprますか?

7
C ++ 11でのCOW std :: string実装の合法性
コピーオンライトはstd::stringC ++ 11での適合を実装するための実行可能な方法ではないというのが私の理解でしたが、最近議論されたとき、私は自分がそのステートメントを直接サポートできないことに気付きました。 C ++ 11がCOWベースの実装を許可しないことは正しいstd::stringですか? もしそうなら、この制限は新しい標準のどこかに(どこで)明示的に述べられていますか? または、この制限は、std::stringCOWベースのの実装を妨げる新しい要件の複合効果であるという意味で、暗黙のうちに含まれていstd::stringますか。この場合、「C ++ 11はCOWベースのstd::string実装を効果的に禁止する」という章と詩のスタイルの派生に興味があります。


6
std :: stringをNSStringに変換する方法は?
こんにちは、私は標準を変換しようとしていますstd::stringにNSString、私は多くの幸運を持っていませんよ。 私はから首尾よく変換することができますNSStringにstd::string次のコードを使用して NSString *realm = @"Hollywood"; std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]]; ただし、次の操作を実行するとコンパイル時エラーが発生します NSString *errorMessage = [NSString stringWithCString:REALM encoding:[NSString defaultCStringEncoding]]; 私が得るエラーは Cannot convert 'std::string' to 'const char*' in argument passing ここで何か不足していますか? 前もって感謝します。



4
文字列の連結が期待どおりに機能しない[クローズ]
ここで何が求められているのかを知るのは難しいです。この質問は、あいまい、あいまい、不完全、広すぎる、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして再開できるようにするためのヘルプについては、ヘルプセンターに アクセスしてください。 8年前に閉鎖されました。 これはよくある問題ですが、参考資料やその他の資料を探しても、この質問に対する明確な答えは見つかりません。 次のコードについて考えてみます。 #include &lt;string&gt; // ... // in a method std::string a = "Hello "; std::string b = "World"; std::string c = a + b; コンパイラは、オーバーロードされた演算子が見つからないと言っています char[dim]。 文字列に+演算子がないということですか? しかし、いくつかの例では、このような状況があります。これがより多くの文字列を連結する正しい方法ではない場合、最良の方法は何ですか?

1
STLキャラクター特性のポイントは何ですか?
SGI STLリファレンスのコピーに、キャラクター特性に関するページがありますが、これらがどのように使用されているかわかりません。それらはstring.h関数を置き換えますか?それらはによって使用されていないようですstd::string。たとえば、length()onのメソッドstd::stringはCharacterTraitslength()メソッドを使用していません。キャラクター特性が存在するのはなぜですか?実際に使用されたことはありますか?

17
文字列のベクトルを文字列に内破する方法(エレガントな方法)
文字列のベクトルを文字列に内破する最もエレガントな方法を探しています。以下は、私が現在使用しているソリューションです。 static std::string&amp; implode(const std::vector&lt;std::string&gt;&amp; elems, char delim, std::string&amp; s) { for (std::vector&lt;std::string&gt;::const_iterator ii = elems.begin(); ii != elems.end(); ++ii) { s += (*ii); if ( ii + 1 != elems.end() ) { s += delim; } } return s; } static std::string implode(const std::vector&lt;std::string&gt;&amp; elems, char delim) { std::string …
83 c++  string  stl  stdstring  implode 

12
C ++のchar * vs std :: string [クローズ]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 7年前に閉鎖されました。 C ++でsの配列を管理するためstd::stringに、いつ使用する必要があり、いつ使用する必要がありますか?char*char char*パフォーマンス(速度)が重要であり、メモリ管理のためにリスクの高いビジネスの一部を受け入れても構わないと思っている場合は、使用する必要があるようです。 考慮すべき他のシナリオはありますか?
81 c++  stl  stdstring  arrays 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.