将string转化为char*的方法
在构造文件流变量时候发现,fstream的第一个参数,即文件路径必须是const char *
如:
1 string s = "/home/user/1.txt"; 2 fstream file (s,ios::in);
编译是不能通过的,必须将文件的路径改为const char *才可以。
以下是三种转化方法:
-
1 string str="abc"; 2 char *p=str.data();
-
1 string str="gdfd"; 2 char *p=str.c_str();
-
1 string str="hello"; 2 char p[40]; 3 str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置 4 *(p+5)='\0'; //要手动加上结束符