程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> string與char*轉換的使用詳解

string與char*轉換的使用詳解

編輯:C語言基礎知識

代碼如下:

//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就不再是指向常量的指針了。

一句話,靠近哪個哪個不能改變!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved