問題タブ [stdstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4609 参照

c++ - gdb から std::string 変数値を設定しますか?

デバッガがブレークポイントで停止しているときに、現在のバッファのメモリ イメージを微調整するなどのハックに頼らずに std::string 変数の値を変更することは可能ですか?

たとえば、「set var mystring="hello world」のようなもの

?

0 投票する
5 に答える
5215 参照

c++ - C++ addition overload ambiguity

I am coming up against a vexing conundrum in my code base. I can't quite tell why my code generates this error, but (for example) std::string does not.

The implementation of these is easy enough to imagine on your own.

My driver program contains the following:

Which generates the following error in gcc 4.1.2:

So far so good, right? Sadly, my String(const char *str) constructor is so handy to have as an implicit constructor, that using the explicit keyword to solve this would just cause a different pile of problems.

Moreover... std::string doesn't have to resort to this, and I can't figure out why. For example, in basic_string.h, they are declared as follows:

and so on. The basic_string constructor is not declared explicit. How does this not cause the same error I'm getting, and how can I achieve the same behavior??

0 投票する
2 に答える
2501 参照

c++ - utf8 と utf16 の変換

たとえば、L"hao123--我的上网主页" のような wchar_t 文字列があります。これを utf8 に変換できます。

エンコーディングすると、出力文字列は「hao123锛嶏紞鎴戠殑涓婄綉涓婚〉」となりますが、最後にこれを書かなければなりません

文字列をプレーンテキストファイルに変換します。その形式は utf16 (他の人から知っています)、「hao123\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875」です。

C++ std 文字列で保存してからファイルに書き込む必要があるため、どうすれば変換できますか

"hao123锛嶏紞鎴戠殑涓婄綉涓婚〉" から "hao123\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875" へ char または C++ std 文字列 ?

誰でもヒントを教えてもらえますか?

前もって感謝します!

0 投票する
2 に答える
863 参照

c++ - Char* vs std::string

重複の可能性:
C++ char* と std::string の比較

std::string の代わりに char* を使用する利点はありますか?

char* は通常、スタック上で定義されているので、使用するメモリの量が正確にわかっています。または、あらゆる点で std::string の方が優れていますか?

0 投票する
3 に答える
37194 参照

c++ - unsigned char を reinterpret_cast なしで std::string に取得する方法は?

std::string に必要な unsigned char 配列がありますが、現在の方法では、回避したい reinterpret_cast を使用しています。これを行うためのよりクリーンな方法はありますか?

0 投票する
4 に答える
21874 参照

c++ - std::string に null を埋め込むことはできますか?

通常の C 文字列の場合、ヌル文字'\0'はデータの終わりを示します。

についてはどうstd::stringですか。ヌル文字が埋め込まれた文字列を使用できますか?

0 投票する
1 に答える
760 参照

c++ - バイナリ ファイルからの c-string ではなく、std::string へのフォーマットされていない入力

わかりました、このプログラムは c-strings を使用して動作しています。フォーマットされていないテキストのブロックを std::string に読み込むことができるかどうか疑問に思っていますか? 私は周りをいじりましif >>たが、これは行ごとに読み取ります。私は自分のコードを壊し、std::string を使おうとして壁に頭をぶつけていたので、専門家に協力してもらう時が来たと思いました。これは、実行するためにいくつかのコンテンツを含むファイル「a.txt」を提供する必要がある作業プログラムです。

私はだまそうとしました:

しかし、それは奇妙な行動をしていました。私はstd::cout << memblock.c_str()それを印刷するためにやらなければなりませんでした。文字列をクリアしmemblock.clear()ませんでした。

とにかく、STL を使用する方法を考えていただければ幸いです。

これがc-stringsを使用した私のプログラムです

このコードをより良くする何かを見つけたら、遠慮なく私に知らせてください。

0 投票する
16 に答える
619573 参照

c++ - 文字列内の文字のすべての出現を置き換える方法は?

ある文字のすべての出現箇所を別の文字に置き換える効果的な方法は何std::stringですか?

0 投票する
1 に答える
1936 参照

c++ - コンパイル時にXMLファイルのコンテンツをstd::stringまたはCStringに保存するにはどうすればよいですか?

XMLには、C ++が誤解する可能性のある記号が含まれています(http://www.w3.org/2000/10/XMLSchemaの//など)

コンパイル時にハードコードされたXMLをstd::stringまたはCStringに含めるクリーンな方法を知っているかどうか疑問に思います。

(実際には、いくつかのxml入力を検証するために.xsdファイルをエンコードしようとしています。これは、このxsdファイルの有無に依存したくないため、バイナリでコンパイルする必要があるためです)

0 投票する
4 に答える
1219 参照

c++ - クラスの文字列メンバーにアクセスしようとしたときの segfault

次のように定義されたデータメンバーとしてを持つクラスMessageがあります。std::string

このクラスは、次のように別のクラスのベクトルで使用されます。

にはdraw()、 を呼び出すイテレータがありますgetText()。その場合、プログラムはセグメンテーション違反を起こします。コンストラクターtext内で有効であると判断しました。Messageただし、内部から有効かどうかはわかりませんConsole。私はそうであると仮定していますが、Consoleの messageLog のインデックスを調べようとすると、gdb は次のように教えてくれます:

(gdb) p messageLog[0]
One of the arguments you tried to pass to operator[] could not be converted to what the function wants.

何が起こっているか知っている人はいますか?

編集:ここにありますdraw()TCODConsole私が使用している curses ライブラリの一部であるため、この関数は各メッセージをConsolecurses 画面の一部に出力します。 TLBRPoint、画面上のどこに描画するかを示すメンバー オブジェクト (2 つの int) ですConsole。うまくいけば物事を明確にするために元の質問の一部Messageを省略しましたが、クラス全体を投稿する必要がある場合は、投稿できます。Console長すぎません。