c语言和c++字符串操作对比
生活随笔
收集整理的這篇文章主要介紹了
c语言和c++字符串操作对比
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C語(yǔ)言字符串操作
#include <stdio.h>
#include <string.h>
int main() {//字符數(shù)組char str1[20] = "abcde"; //初始化char str2[20] = { 'a','b','c' };//初始化//str2 = "abc"; 錯(cuò)誤char str3[20];str3[0] = 'a'; str3[1] = 'b'; str3[2] = '\0';//字符指針char *pstr = "bcd"; //將常量字符串的地址賦給pstrpstr = "def";pstr = str1;pstr[0] = 'x'; //通過(guò)指針修改*(pstr + 1) = 'y'; //通過(guò)指針修改printf("str1=%s\n", str1); // 輸出xycde//字符串長(zhǎng)度printf("str1長(zhǎng)度= %d\n", strlen(str1)); //5//字符串拷貝printf("str1=%s\n", strcpy(str1, "ddd"));//ddd//字符串連接printf("str1=%s\n", strcat(str1, str2)); //dddabc//字符串比較if (strcmp(str2, str3) > 0)printf("%s > %s\n", str2, str3);else if(strcmp(str2, str3) == 0)printf("%s == %s\n", str2, str3);elseprintf("%s < %s\n", str2, str3);//字符串查找strcpy(str2, "--ab=="); //str3: "ab"printf("%s\n", strstr(str2, str3)); //ab==return 0;
}
c++字符串操作
#include <iostream>
#include <string>
using namespace std;
int main() {//std::stringstd::string str1("abc"); //初始化string str2 = "bcd"; //初始化str2 = "defg"; //可以直接賦值str2 = str1; //可以直接賦值const char *pstr = str2.c_str(); //轉(zhuǎn)c風(fēng)格字符串str2[0] = 'X'; //可以直接下標(biāo)訪問(wèn)操作str2.at(1) = 'Y'; //可以 at 訪問(wèn)操作cout <<"str2=" << str2 << endl; //XYc//求字符串長(zhǎng)度cout << str2.size() << endl;cout << str2.length() << endl;//strlen(str1); 錯(cuò)誤cout << strlen(str2.c_str()) << endl; //正確//字符串連接str2 = str2 + str1 + "!!";cout << "str2=" << str2 << endl; //XYcabc!!//字符串比較 (str1: abc)cout << str2.compare(str1) << endl; //-1cout << (str2 < str1) << endl; //1//字符串查找cout << str2.find(str1) << endl; //3//字符串提取string str3 = str2.substr(3, 3);cout << str3 << endl; //abcreturn 0;
}
總結(jié)
以上是生活随笔為你收集整理的c语言和c++字符串操作对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言中struct和c++中class
- 下一篇: c++中的vector的常见使用