C/C++中字符串常量的不相等性及字符串的Copy

#include <iostream>

void main(void)

{

if("test"=="test")

{

cout<<"相等";

}

else

{

cout<<"不相等";

}

}

上面的代碼我們測試兩個內容爲test的字符串常量是否相等,按照常理,應該是相等的,這些在一些過程式語言中會得到相等的結論,但在c/c++卻不是這樣。

爲什麽呢?

答案在這裏:因爲字符串常量存儲在計算機內存中,兩個字符串常量的地址均不相同,所以這樣的比較自然就不會得到我們所需要的結果,假如要進行是否相等的比較應該使用strcmp()這個涵數進行比較!#include <iostream>

#include <string>

using namespace std;

void main(void)

{

if(strcmp("test","test")==0)

{

cout<<"相等";

}

else

{

cout<<"不相等";

}

cin.get();

}strcmp()的函數原形是,int strcmp(const char* str1,const char* str)

相當將會返回一個等于0的整數,不相等的時候將會返回一個非0整數。#include <iostream>

#include <string>

using namespace std;

void main(void)

{

char test[]="test str!";

char str[15];

strcpy(str,test);

cout<<str<<endl;

int a[]={1,2,3,4,5};

int b[5];

memcpy(b,a,sizeof(a));

for(int i=0;i<5;i++)

{

cout<<b[i]<<",";

}

cin.get();

}上面的代碼中的strcpy用來處理字符串數學組的copy,由于字符串數組屬于const char*也就是常量指針所以是不能用a="test str!";的方式賦值的,接在後面的memcpy用于處理非\0結尾的數組的copy處理,memcpy第三個參數是設置b在內存中所需要的內存空間大小所以用sizeof(a)*sizeof(int)來處理。

C/C++中字符串常量的不相等性及字符串的Copy
更多內容請看C/C++技術專題專題,或

c/c++中字符串常量的不相等性,以及字符串的copy
//程序作者:管甯 //站點:www.cndev-lab.com //所有稿件均有版權,如要轉載,請務必聞名出處和作者 #include <iostream> ...查看完整版>>c/c++中字符串常量的不相等性,以及字符串的copy
 
C++下操作字符串的超級容易類
C++下操作字符串的超級容易類~~~~~作者:中國論壇網收集 來源:http://www.51one.net 加入時間:2004-8-25  日記: 今天我做了一個類。類的名字叫JString。是用來對字符串進行常規的操作的。這個類的特點是,幾乎...查看完整版>>C++下操作字符串的超級容易類
 
C++下操作字符串的超級容易類~~~~~
日記: 今天我做了一個類。類的名字叫JString。是用來對字符串進行常規的操作的。這個類的特點是,幾乎所有的JString都用JString&的形式引用。來源于托管內存管理式的思想,做到變量能自由創建和釋放。創建出...查看完整版>>C++下操作字符串的超級容易類~~~~~
 
PHP開發程序:生成隨機字符串的方法-PHP語言
使用PHP開發應用程序,尤其是網站程序,常常需要生成隨機密碼,如用戶注冊生成隨機密碼,用戶重置密碼也需要生成一個隨機的密碼。隨機密碼也就是一串固定長度的字符串,這裏我收集整理了幾種生成隨機字符串的方法,以...查看完整版>>PHP開發程序:生成隨機字符串的方法-PHP語言
 
兩個截取字符串的實用方法(超過一定長度自動換行)
1/**//// <summary> 2 /// 截取字符串,不限制字符串長度 3 /// </summary> 4 /// <param name="str">待截取的字符串</param> 5 /// <param name="len">...查看完整版>>兩個截取字符串的實用方法(超過一定長度自動換行)
 
DataGrid表格上字符串的HTML編碼詳解
  原因:  在DataGrid的Cell上顯示 Html 編碼後的字符串,怎麽做呢?假如還有惡意的代碼!我想網頁就會出亂子啦!    事例:  例如:我有一個DataGrid,用來顯數據庫中的自定義表的數據,表中含有用戶名信...查看完整版>>DataGrid表格上字符串的HTML編碼詳解
 
獲得漢字字符串的首個拼音字母的縮寫
標題可能不太清楚,實現的功能如下:我愛中國-WAZG 1。漢字字符與英文字母之間區別 標准的asc表不包含漢字字符,因爲一個asc字符只有1byte,就是8bit,8bit所能代表的數字範圍,如果是有符號的好,因該爲-128-12...查看完整版>>獲得漢字字符串的首個拼音字母的縮寫
 
兩個截取字符串的實用方法(超過一定長度自動換行)
1/**//// <summary> 2 /// 截取字符串,不限制字符串長度 3 /// </summary> 4 /// <param name="str">待截取的字符串</param> 5 /// <param name="len">...查看完整版>>兩個截取字符串的實用方法(超過一定長度自動換行)
 
DataGrid表格上字符串的HTML編碼詳解
  原因:  在DataGrid的Cell上顯示 HTML 編碼後的字符串,怎麽做呢?如果還有惡意的代碼!我想網頁就會出亂子啦!  事例:  例如:我有一個DataGrid,用來顯數據庫中的自定義表的數據,表中含有用戶名信息,...查看完整版>>DataGrid表格上字符串的HTML編碼詳解
 
 
回到王朝網路移動版首頁