問題タブ [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.
c++ - gdb から std::string 変数値を設定しますか?
デバッガがブレークポイントで停止しているときに、現在のバッファのメモリ イメージを微調整するなどのハックに頼らずに std::string 変数の値を変更することは可能ですか?
たとえば、「set var mystring="hello world」のようなもの
?
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??
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 文字列 ?
誰でもヒントを教えてもらえますか?
前もって感謝します!
c++ - Char* vs std::string
重複の可能性:
C++ char* と std::string の比較
std::string の代わりに char* を使用する利点はありますか?
char* は通常、スタック上で定義されているので、使用するメモリの量が正確にわかっています。または、あらゆる点で std::string の方が優れていますか?
c++ - unsigned char を reinterpret_cast なしで std::string に取得する方法は?
std::string に必要な unsigned char 配列がありますが、現在の方法では、回避したい reinterpret_cast を使用しています。これを行うためのよりクリーンな方法はありますか?
c++ - std::string に null を埋め込むことはできますか?
通常の C 文字列の場合、ヌル文字'\0'
はデータの終わりを示します。
についてはどうstd::string
ですか。ヌル文字が埋め込まれた文字列を使用できますか?
c++ - バイナリ ファイルからの c-string ではなく、std::string へのフォーマットされていない入力
わかりました、このプログラムは c-strings を使用して動作しています。フォーマットされていないテキストのブロックを std::string に読み込むことができるかどうか疑問に思っていますか? 私は周りをいじりましif >>
たが、これは行ごとに読み取ります。私は自分のコードを壊し、std::string を使おうとして壁に頭をぶつけていたので、専門家に協力してもらう時が来たと思いました。これは、実行するためにいくつかのコンテンツを含むファイル「a.txt」を提供する必要がある作業プログラムです。
私はだまそうとしました:
しかし、それは奇妙な行動をしていました。私はstd::cout << memblock.c_str()
それを印刷するためにやらなければなりませんでした。文字列をクリアしmemblock.clear()
ませんでした。
とにかく、STL を使用する方法を考えていただければ幸いです。
これがc-stringsを使用した私のプログラムです
このコードをより良くする何かを見つけたら、遠慮なく私に知らせてください。
c++ - 文字列内の文字のすべての出現を置き換える方法は?
ある文字のすべての出現箇所を別の文字に置き換える効果的な方法は何std::string
ですか?
c++ - コンパイル時にXMLファイルのコンテンツをstd::stringまたはCStringに保存するにはどうすればよいですか?
XMLには、C ++が誤解する可能性のある記号が含まれています(http://www.w3.org/2000/10/XMLSchemaの//など)
コンパイル時にハードコードされたXMLをstd::stringまたはCStringに含めるクリーンな方法を知っているかどうか疑問に思います。
(実際には、いくつかのxml入力を検証するために.xsdファイルをエンコードしようとしています。これは、このxsdファイルの有無に依存したくないため、バイナリでコンパイルする必要があるためです)
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 ライブラリの一部であるため、この関数は各メッセージをConsole
curses 画面の一部に出力します。 TL
とBR
はPoint
、画面上のどこに描画するかを示すメンバー オブジェクト (2 つの int) ですConsole
。うまくいけば物事を明確にするために元の質問の一部Message
を省略しましたが、クラス全体を投稿する必要がある場合は、投稿できます。Console
長すぎません。