天天看點

C++ 中嵌入shell語言

在C++中是可以嵌入shell語言的,在開發時候用到了system語句,在使用system函數時,參數是char類型,如果輸入字元串拼接類型則編譯不通過,比如“system("mv " + file_name +" func_bak.h")”,這樣是錯誤的,需要下面這樣的轉換才可以:

#include <stdlib.h>

#include <stdio.h>

#include <string>

using namespace std;

int main()

{

string str1 = "func_a.h";

string str2 = "func_a_new.h";

char ls_cmd[50];

sprintf(ls_cmd, "mv %s %s", str1.c_str(), str2.c_str());

system(ls_cmd);

return 0;

}