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

C++ system function doesn't accept string?

本文关键字:字符串 不接受 函数 系统 C++      更新时间:2023-10-16
#include<iostream>
#include<windows.h>
#include<string.h>
using namespace std;
main()
{
    string kelime="dir";
    system(kelime);
}

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

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

system(kelime.c_str());

system()(和许多其他API)被设计为从C中调用,并采用所谓的C弦,这是单字节ASCII字符的NUL终止阵列。

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

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