C ++系统函数不接受字符串?

时间:2016-12-25 14:55:39

标签: c++

#include<iostream>
#include<windows.h>
#include<string.h>
using namespace std;
main()
{
    string kelime="dir";
    system(kelime);
}

如果我喜欢这样:char kelime[10]="dir";

它正在工作,但我想用字符串做?有什么问题,我该怎么做?

2 个答案:

答案 0 :(得分:3)

system(kelime.c_str());

system()(以及许多其他API)旨在从C调用,并采用所谓的C字符串,这是一个NUL终止的单字节ASCII字符数组。

使用std::string::c_str()从C ++ std::string获取C字符串。

答案 1 :(得分:0)

使用kelime.c_str()访问旧char样式