問題タブ [cstring]

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 投票する
3 に答える
17795 参照

mfc - CString の最大長

CString オブジェクトが保持できる最大文字数は?

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

c++ - C++でのCStringの検索

指定された文字列をCStringで検索するネイティブC++(またはSTL / Boost)関数があるかどうか疑問に思いましたか?

例えば

CompareNoCase IndexOfなどの関数をいくつか見つけましたが、これまでのところ、実際には私が望んでいることを実行していません(またはCLR / .Netを使用しています)。

ありがとう!

0 投票する
20 に答える
9093 参照

c++ - このアルゴリズムをどのように改善しますか? (C文字列反転)

オンラインで見つけたいくつかのプログラミング インタビューの課題に取り組み、const char * を逆にして新しい char * へのポインターを返すアルゴリズムを作成する必要がありました。私はそれを持っていると思いますが、それを適切に機能させるには、いくつかの奇妙なことをしなければなりませんでした-基本的に、ヌル終了文字を自分で説明する必要がありました。どういうわけか私はこれが間違っていると感じていますが、私は困惑しており、誰かが私を助けてくれるかどうか疑問に思っていました:

0 投票する
7 に答える
55471 参照

c - 最後にガベージ文字を含む string 配列

ユーザーが1つずつ入力する文字を格納するために使用しているchar配列バッファがあります。以下の私のコードは動作しますが、私が理解できないいくつかの不具合があります:

  1. printf を実行して Buffer の内容を確認すると、いっぱいになりますが、最後に文字化けが発生します
  2. char Buffer[8]; として宣言されているにもかかわらず、8 文字で停止しません。

誰かが私に何が起こっているのか、おそらくどうすればこれを修正できるのか説明してもらえますか? ありがとう。

出力:

tagBuffer は 123456789 です!

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

c++ - vc6 と vc7 の CString の違いは何ですか?

vc6 と vc7 の CString の違いは何ですか?

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

c++ - C++ でのさまざまな文字列型の長所と短所

SO に関する別の答えられない質問を開始して申し訳ありませんが、C++ のすべての異なる文字列型の長所と短所に興味があります。私の特定の質問は、MFC の CStrings と std::string (Windows のみのソフトウェアを使用しているため) の間ですが、これは C++ の任意の文字列形式に拡張されます。C++ で使用するのに最適な文字列型は何ですか?その理由は何ですか?

更新:実際に重複した質問が見つかりました。すでに答えてくれた人に感謝します。この他の質問への新しい回答を指示してください: C++ で文字列をどのように処理しますか?

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

c++ - CStringからchar*

ほとんどのコードでCStringクラスを使用しています。ただし、char*に変換する必要がある場合もあります。現時点では、variable.GetBuffer(0)を使用してこれを行っており、これは機能しているようです(これは主に、関数がchar *を必要とする関数にCstingを渡すときに発生します)。関数はこれを受け入れ、続行します。

しかし、私たちは最近、これがどのように機能するか、そしてそれを行うためのより良い方法があるかどうかについて心配しています。

私がそれが機能することを理解する方法は、CStringの最初の文字を指す関数にcharポインターを渡し、すべてがうまく機能することです。

メモリリークや、これが適切ではない可能性のある予期しない状況について心配しているだけだと思います。

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

c++ - C/C++ で BSTR パラメータを ANSI に変換するためのより適切なコードはどれですか?

これまでのところ、着信 BSTR を 2 つの (多くの?) 方法で ANSI に変換できることを発見しました。速度や効率などに関して、一方が他方よりも「優れている」かどうか知りたいです。

私がしばらくの間使用してきた方法は、USES_CONVERSIONW2Aマクロを使用することです。

ただし、最近、別の手法に出くわしました。

確かに、それはより冗長で、2 つの呼び出しがありますが、とマクロがあらゆる種類の楽しみとゲームを隠している可能性があることはwcstombsわかっています。USES_CONVERSIONW2A

より効率的/高速なコードはどれですか? または、より良い仕事をするために使用できる別のテクニックはありますか?

0 投票する
7 に答える
6146 参照

c++ - CString のエスケープ文字

どのようにエスケープ文字 (改行文字 -- \n など) を CString に入れることができますか?

0 投票する
10 に答える
475 参照

c - このCフラグメントをより安全に書き込むにはどうすればよいでしょうか。

次のCコードフラグメントがあり、エラーを特定して、より安全に記述する方法を提案する必要があります。

したがって、エラーは、strlenが'\0'文字列の末尾を無視するため、コピーに十分なメモリが割り当てられないということですが、より安全に書き込むことで何が得られるのかわかりません。

私は私が想定しているものを使用することができますmalloc(strlen(somestring)+1))が、それよりも良い方法があるに違いないと思いますか?


編集: OK、私は答えを受け入れました、それはANSI Cの一部ではないので、strdupソリューションは私たちから期待されないだろうと思います。それはかなり主観的な質問のようですので、私が何をしたかわかりません受け入れられたのは実際には最高です。とにかくすべての答えをありがとう。