string 是c++标准库里面其中一个,封装了对字符串的操作
把string转换为char* 有3中方法:
1。data
如:
string str="abc";
char *p=str.data();
2.c_str
如:string str="gdfd";
char *p=str.c_str();
3 copy
比如
string str="hello";
char p[40];
str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置
*(p+5)='/0'; //要手动加上结束符
把string转换为char* 有3中方法:
1。data
如:
string str="abc";
char *p=str.data();
2.c_str
如:string str="gdfd";
char *p=str.c_str();
3 copy
比如
string str="hello";
char p[40];
str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置
*(p+5)='/0'; //要手动加上结束符
cout < <p;
#include <iostream>
#include <cstring>
#include <cmath>
#include <stdio.h>
using namespace std;
void printString(string strWavName)
{
FILE *pWavFd;
/* must be const char, or else compile error */
const char *pcStr;
/* change string to char * type */
pcStr = strWavName.data();
//pcStr = strWavName.c_str();
pWavFd = fopen(pcStr, "rb");
cout << "name: " << strWavName << endl;
/* print string size value */
cout << "size: " << strWavName.size() << endl;
fclose(pWavFd);
}
int main(int argn, char **argv)
{
printString("./redSun.wav");
return 0;
}