代碼如下:
//string --> const char
string str2ch;
str2ch.c_str();
//=============================
//string --> char *
//先轉為 const char , 然後 轉char *
char TargetFile[strlen(TorrentFileNameDown.c_str())];
strcpy(TargetFile,TorrentFileNameDown.c_str()); //change type const char 轉 char *
//=============================
//char * --> string
//int main(int argc , char *argv[])
string strCommand_down ;
strCommand_down.assign(argv[1],strlen(argv[1]) ); //char數組轉string
man strcpy
代碼如下:
#include <string.h>
char *strcpy(char *dest, const char *src);
附:指針常量,常量指針
什麼是指針常量?指針常量即指針類型的常量。
例:char *const name1="John";
name1="abc"; //錯誤,name1指針,不能變,一個指針類型的變量,存放的是地址,所以不能把'"abc"的地址賦給name1
char * name2= name1; //可以
什麼是常量指針?常量指針即是指向常量的指針,指針的值可以改變,指針所指的地址中的內容為常量不能改變,
例:const char *name1="John";
char s[]="abc"; name1=s; //正確,name1存放的地址可以改變
char * name2= name1; //不可以,因為name2 和 name1存放的是同一塊地址,如果name2地址中的內容改了,則name1的內容也改了,那麼name1就不再是指向常量的指針了。
一句話,靠近哪個哪個不能改變!