在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;
}