将string转化为char*的方法

在构造文件流变量时候发现,fstream的第一个参数,即文件路径必须是const char *

如:

1 string s = "/home/user/1.txt";
2 fstream file (s,ios::in);

编译是不能通过的,必须将文件的路径改为const char *才可以。

以下是三种转化方法:

  1. 1 string str="abc";
    2 char *p=str.data();
  2. 1 string str="gdfd";
    2 char *p=str.c_str();
  3. 1 string str="hello";
    2 char p[40];
    3 str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置
    4 *(p+5)='\0'; //要手动加上结束符

     

posted @ 2014-02-21 11:15  轻度YYy  阅读(7004)  评论(0编辑  收藏  举报