どのように私はC ++とPDCursesを使用して、変数の文字列を表示することができますか?

StackOverflow https://stackoverflow.com/questions/2163853

質問

私は、あきれるほどnewbish質問を投稿することが非常に残念ですが、私は私の大学時代からC ++であまり周りにマックしていないと私は私がポインタとのC ++文字列の右アウトを知っていたことをすべて飲んだいくつかの点で考えます私の頭。基本的に、私は、ハンドル出力にPDCursesとC ++コンソールアプリケーション(ローグライク、正確には)を作成しています。私は私にエラーを投げ続ける)((Iフィギュアがあわや、ダイナミックなゲームではかなり有用であろうことを何か)が、mvaddstrを動的に文字列を表示したいです。ここで私は何をしようとしているの例を示します。

 string vers = "v. ";
 vers += maj_vers;// + 48;
 vers += ".";
 vers += min_vers;// + 48;
 vers += ".";
 vers += patch_vers;// + 48;
 char *pvers = vers.c_str();
 mvaddstr(5,17, pvers);
 refresh();
もちろん、これは私のchar * pvers定義のエラー「const char*' tochar * 'から無効な変換」を与えます。私は愚かここで間違って、私は本当に厚かましく何かをやっている知っているが、私はこれには本当にさびです。すべてのヘルプは、スーパー役立つだろう。

役に立ちましたか?

解決

ジャストの宣言pversとしてます:

const char *pvers = vers.c_str();
あなたはconstで指されるメモリを変更するつもりはありません。

このpvers手段。あなたはこの仮定を破る場合、コンパイラはあなたに叫ぶことができるようにそれは本当に多くのヒントのです。 (あなたは、コンパイラの警告を得た理由である。)あなたはこの線を越えpversを変更した後versを使用する場合は、何かのファンキーを見始めるかもしれないが、スニペットのために、私はその問題を見ない掲示ます。

他のヒント

Asveikauは右ですが、私はいくつかのncursesのドキュメントを検索して別のオプションを発見した - 。私はいつもちょうど同じ効果をmvprintw(col, row, "v. %d.%d.%d", maj_vers,min_vers,patch_vers)ことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top