2017-09-11 4 views
1

const char *GetVersion()の値に変数を割り当てる方法は?`const char * GetVersion()`(サードパーティのライブラリから)を変数に代入する方法は?

私はconst char *GetVersion()が利用可能であることを示すサードパーティのライブラリを使用しています。以下のコードは正常にコンパイルされます:const char *GetVersion()を変数に割り当てる方法は?

更新

チャーCONST *バージョンの取得()

実行拡張をロードしたアプリケーションマニュアル インターフェースのバージョン。このバージョンは で、APIバージョンとは異なります。これは下記のMacrosに記載されています。コンパイラは関数のプロトタイプとして

const char *Function(); 

を理解しているので、

+1

'std :: string s = Function();'? –

+0

あなたは 'const char * name = Function();'を意味しますか? – Jarod42

+0

doubleまたはint関数を使用した場合と同じ方法です。 –

答えて

2

あなたのコードがコンパイルされます。


まず、ドキュメントをお読みください。簡単に書くことができるようです。

const char* my_variable = Function(); 

しかし、メモリを解放する必要があるかどうかを確認してください。 (戻り値の型が与えられていないということは、constですが、my_variableをパラメータとして渡す必要があります)。

2

変数にconst char *GetVersion()を割り当てるにはどうすればよいですか?それは、でより安全な/より便利/ずっとましだ

std::string version = GetVersion(); 

:私はすぐに安全にstd::string対象に、あなたのC-インタフェース機能によって返された生のCスタイルの文字列ポインタを格納することをお勧めしたい

C++適切な文字列クラスを使用して文字列を管理するには、Cスタイルの生ポインタを使用するよりも効率的です。

また、のリリース番号があるかどうかを調べるには、返されたconst char*によってメモリが指し示されているかどうか、または必要でないかどうかを調べる必要があります。

関連する問題