2016-12-25 10 views
0
#include<iostream> 
#include<windows.h> 
#include<string.h> 
using namespace std; 
main() 
{ 
    string kelime="dir"; 
    system(kelime); 
} 

私はこのようにしなければ:char kelime[10]="dir";C++システム関数は文字列を受け付けませんか?

それが動作しているが、私は、文字列でそれをやってみたいですか?何が問題なのですか?どうすればいいですか?

+0

てみ 'システム(kelime.c_strを())にアクセスするには、' – songyuanyao

+0

string.h'は 'のstd :: STRING'を持っている'のためにあなたのコンパイラは、古代でなければなりません。 – StoryTeller

+0

あなたが得ている正確なエラーを言及してください。 –

答えて

3
system(kelime.c_str()); 

system()(および他の多くのAPI)はCから呼び出され、1バイトのASCII文字のNULで終わる配列されている、いわゆるC-文字列を取るように設計されています。

std::string::c_str()を使用して、C++ std::stringからC文字列を取得します。

+0

私はそれを知らなかった。説明してくれてありがとう。 –

0

使用kelime.c_str()古いcharスタイル

関連する問題