問題タブ [const-char]

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 に答える
516 参照

c - XDrawString が "const char *" を取らないのはなぜですか?

X11 の XDrawString の宣言を見ると、

6 番目の引数が「const char *」ではなく「char *」型になっているのはなぜですか? 文字列を描画するには、文字列を変更する必要がありますか? 人々が定数文字列を渡す例をたくさん見てきました。それは危険ですか?

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

c - strtol、strtod は安全ではありませんか?

文字列の constness をキャストすることをstrtol()効果的に許可 (および強制) しているようです。strtod()

上記では、自分でキャストを実行しませんでした。ただし、基本的には、警告などなしで、 myをfor mestrtol()にキャストします。(実際には、 として入力することはできないため、安全でない型の変更が強制されます。) 本当に危険ではありませんか?const char *char *barconst char *

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

c++ - constchar*変数を使用したprintfの質問

printfの問題で立ち往生しています。ここで助けをいただければ幸いです。以下のコードでは、最初のprintf()でフォントファミリが正しく置き換えられていることがわかりますが、変数に設定すると、空の文字列しか取得できません。どうすればそれを変数に入れて正しい値にすることができますか?どこにでも「font.family()。family()。string()。utf8()。data()」と入力したくないだけですか?

私は同じ方法でこれを行いました:

そして、「data()」の署名は

utf8()の署名は

ありがとうございました。

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

python - PythonからC/C++へのconstcharの質問

私はいくつかのC++コードでPythonを拡張しています。

私が使用している関数の1つには、次のシグネチャがあります。

(リンク:http ://docs.python.org/release/1.5.2p2/ext/parseTupleAndKeywords.html )

対象のパラメーターはkwlistです。上記のリンクでは、この関数の使用方法の例が示されています。例では、kwlistは次のようになります。

g ++を使用してこれをコンパイルすると、次の警告が表示されます。

したがって、staticchar*をstaticconstchar*に変更できます。残念ながら、Pythonコードを変更することはできません。したがって、この変更により、別のコンパイルエラーが発生します(char**をconstchar **に変換できません)。ここで読んだ内容に基づいて、警告を無視するようにコンパイラフラグをオンにするか、kwlistの定義内の各定数文字列をchar*にキャストできます。現在、私は後者をやっています。他の解決策は何ですか?

この質問が以前に行われたことがある場合は申し訳ありません。私は新しいです。

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

c++ - std::cin >> *aa はバスエラーになります

私はこれを PPString と呼ばれるクラスにしています:

PPString.h

PPString.cpp

私はstringValueusingを設定しようとしていstd::cinます:

main.cpp

a を使用する最初のものはconst char機能しますが、2 つ目は a を使用charしないため、次の出力が得られます。

STDOUT からのコピー アンド ペースト

2行目は入力したもので、returnキーを押します。

誰でもこれを修正するのを手伝ってもらえますか? ありがとう...

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

c - 関数から返された const char* を C の const char** に正しく変換するにはどうすればよいですか?

要するに、私はこれをしたいと思います:

ただし、右辺値に & を使用できないことは理解しています。だから私はこれにこだわっています:

2行で生活できます。このハックで問題が発生していますか? stringPtr宣言されている関数から抜け出すことを恐れる必要はありませんよね?

編集: もともと完全なコンテキストを含めていなかったことをお詫びします。私は、グラフィックに OpenGL を使用して C でゼロからビデオ ゲームを構築するという夏のプロジェクトを引き受けました。libconfigを使用して、テキスト ファイルから構成データを読み取っています。

構成ファイルから特定の文字列を見つけるための便利な関数の 1 つは、次のようになります。

その値が割り当てられる方法は、関数valueに uninitialized を指定すると、未定義のガベージを逆参照しようとすることを意味します。これにより、ほとんどの場合、segfault が発生します。この問題に対する私の現在の回避策はvalue、次のように、最初に別のポインターに初期化することです。

そのため、この 2 段階の初期化を実行する必要がないように、関数の最後の部分を書き直す最善の方法を見つけようとしています。変更された関数は次のようになると考えていました。

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

c++ - ヘッダーファイルの「constchar*」に値を設定するのは適切ですか?

私は、宣言と定義に2つのメソッドを使用している人々を見てきchar *ました。

Medhod 1:ヘッダーファイルには以下があります

Medhod 2:
ヘッダーファイルには次の宣言があります。

cppファイルの定義は次のとおりです。

  1. 方法1は何らかの形で間違っていますか?
  2. 2つの違いは何ですか?
  3. const char * const var「 」と「」の違いがわかりconst char * varます。上記のメソッドでconst char * const var、メソッド1のようにヘッダーで「」が宣言および定義されている場合、それは意味がありますか?
0 投票する
6 に答える
4040 参照

c++ - stringstream の内容を char* を引数として関数に渡す

ppmファイル(画像形式)をディスクに書き込む機能があります。ファイル名を char* 配列として受け取ります。メイン関数では、stringstream と << 演算子を使用してファイル名をまとめました。次に、この結果を ppm 関数に渡します。私はこれが他の場所で議論されているのを見たことがあります.

私が行ったことは以下のコードに示されています。他の人が一時変数を使用して多くのステップで通常行うトリッキーな部分は(char*) (PPM_file_name.str().data()). これにより、.str() を使用して stringstream PPM_file_name から文字列を抽出し、.data() を使用して実際のコンテンツへのポインターを取得し (これは const char*)、それを通常の (char*) にキャストします。以下のより完全な例。

これまでのところ、次の方法で問題なく動作することがわかりましたが、他の人が一見複雑な方法で何かを行った場合、それはより安全な方法であるため、通常は不安になります. それで、私がここでやっていることは安全で、移植性が高いかどうか誰か教えてもらえますか?

ありがとう。

0 投票する
6 に答える
259 参照

c++ - 実行中にプログラムがハングしますが、コンパイルは良好です

編集済み:

const char c私が正しいものを使用しているかどうかを確認したいだけですか?はいの場合、他にどこで間違いを犯しましたか? コードブロックで実行しようとしています。コンパイルはうまくいきますが、実行しようとすると、プログラムが動作を停止したことが示されます。

ありがとう。

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

c - charを定数char*に結合するにはどうすればよいですか?

2つの定数char*を結合し、結果を返す関数があります。私がやりたいのは、charを定数char*に結合することです。