C++中访问字符串的三种方法总结
1.用字符数组存放一个字符串
程序1:定义一个字符数组并初始化,然后输出其中的字符串。
代码如下:
#include<iostream>
using namespace std;
int main(){
char str[]="I lvoe China!";
cout<<str<<endl;
return 0;
}
I love China!
str是字符数组名,它代表数组首元素的地址,输出str的时候,从str指向的字符开始,逐个输出字符,直到遇到'\0'为止。
2.用字符串变量存放字符串
程序2:定义一个字符串常量并初始化,然后输出它指向的字符串
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main(){
string str="I lvoe China!";
cout<<str<<endl;
return 0;
}
I love China!
3.用字符指针指向一个字符串
程序3:定义一个字符指针变量并初始化,然后输出它指向的字符串。
代码如下:
#include<iostream>
using namespace std;
int main(){
char *str="I lvoe China!";
cout<<str<<endl;
return 0;
}
I love China!
对字符指针str初始化,实际上是把字符串中的第一个元素的地址赋给str。
分析:
cout可以逐个输出字符串中的字符,也可以从某一个字符的指针开始,一直输出到字符串的结尾标志'\0'。
代码如下:
#include<iostream>
using namespace std;
int main(){
char str[]="I lvoe China!";
cout<<&str[2]<<endl;
return 0;
}
love China!
相关推荐
-
C++中汉字字符串的截取
1. 复制代码 代码如下: const char *str = "test测试test";while(*str){//这里只需要判断第一个字节大于0x80就行了,前提是输入的是合法的GBK字符串//原因在于,如果第一个字节大于0x80,那么它必然和后面一个字节一起组成一个汉字//所以就没有必要再去判断后面一个字节了//再强调一下,前提条件是输入合法的GBK字符串if(*str > 0x80){// 汉字,计数器++str += 2;//是汉字自然就该直接+2了}else{str+
-
C字符串与C++中string的区别详解
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 <string>或<string.h> <string>或<string.h> 需要头文件 原因 为了使用字符串函数 为了使用string类 声明 方式 char name[20]; string name; 初始化方式 char name[20]="
-
c++中template对字符串的处理方法
C++中的Template作用是把仅类型不同但功能相似的函数合并在一起,但是有时候template中的函数并不能满足所有的类型调用.如下所示: template <class Kty> inline int hash_wrap(const Kty& k) { return (int)k; } 所有的数字类型使用该模板都没有问题,但是string类型却不行,因为不支持有string到int的类型转换(编译过程中).这样我们就需要在该模板外添加一个对string类型的支持,代码如下: te
-
C++实现strcmp字符串比较的深入探讨
strcmp的实现函数简介原型:extern int strcmp(const char *s1,const char * s2); 用法:加头文件 #include <string.h> 功能:比较字符串s1和s2.一般形式:strcmp(字符串1,字符串2)返回值: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止.如:"A
-
C#中使用split分割字符串的几种方法小结
第一种方法: 复制代码 代码如下: string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArray)Console.WriteLine(i.ToString()); 输出下面的结果:abdeabdeabde 第二种方法: 我们看到了结果是以一个指定的字符进行的分割.使用另一种构造方法对多个字符进行分割: 复制代码 代码如下: string s=abcdeabcdeabcdestring[] sArra
-
C++实现判断字符串是否回文实例解析
本文实例解析了C++判断字符串是否回文的实现过程,通过数据结构中的相关例子,回文判断中采用过滤空格字符.有效字符依次入栈等方法实现该功能. 具体实例代码如下: #include <iostream> using namespace std; #define Max_String_Len 100 #include "SqStack.h" //判断字符串是否回文 bool ispalindrome(char *in_string) { SqStack <char>
-
c++ 连接两个字符串实现代码 实现类似strcat功能
复制代码 代码如下: #include "stdafx.h" #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char s1[60]="kingbaby"; char *s2="hello"; int i=0;int j=0; while(s1[i]!='\0')i++; while((s1[i]=s2[j])!='\0'){
-
C++ 字符串的反转五种方法实例
复制代码 代码如下: //通过不同的方法,实现对所输入字符串的反转,可以很好地复习巩固 C++ 基础知识/*分析过程: 假设要使传递的字符串为常量const字符串,这样操作更加灵活,可直接传递字符串字面值进行反转,常见的解决方法就是,定义一个新的与传递过来字符串长度 相等的字符数组,然后进行字符串拷贝,把str字符按从左到右放置到字符数组中,然后采用循环来对字符数组中字符反转*//*第一种,采用以上思路解法,传递为const类型C风格字符指针,返回为char*类型*///直接使用字符数组赋值ch
-
c#中分割字符串的几种方法
单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab deab deab de 多个字符分割 string s="abcdeabcdeabcde string[] sArray1=s.Split(new char[3]{'c','d',
-
C++实现将一个字符串中的字符替换成另一个字符串的方法
本文实例讲述了C++实现将一个字符串中的字符替换成另一个字符串的方法,分享给大家供大家参考.具体方法如下: 题目要求: 原地实现字符串中的每个空格替换成"%20",例如输入"We are happy", 输出"We%20are%20happy" 被替换的字符串当然不仅仅是空格,上面只是个例子 这是道很好的题目,也是百度面试中的一道题,题目不难,但是问题得考虑全面.这里给出如下实现代码: #include <iostream> #inc
-
c++面试题字符串拷贝函数示例
复制代码 代码如下: #include<iostream>using namespace std; //字符串拷贝函数char * sCpy(char *strDest, char *strSource){ _ASSERT((strDest != NULL) && (strSource!=NULL)); char *d = strDest; //获取dest的当前位置 char *s = strSource; /
-
C++常用字符串分割方法实例汇总
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考.具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用. 一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串. 参数说明:str为要分解的字符串,delim为分隔符字符串. 返回值:从str开头开始的一个个被分割的串.当没有被分割的串时则返回NULL. 其它:strtok函数线程不安全
-
C字符串与C++字符串的深入理解
在C中,并没有字符串这个数据类型,而是使用字符数组来保存字符串.C字符串实际上就是一个以null('\0')字符结尾的字符数组,null字符表示字符串的结束.需要注意的是:只有以null字符结尾的字符数组才是C字符串,否则只是一般的C字符数组. C字符串定义时可以利用"="号进行初始化,但是以后不能利用"="对C字符串进行赋值.对C字符串的操作需要通过"string"文件中定义的字符串处理函数.例如://字符串的初始化char a[11] = &
随机推荐
- 浅谈iOS开发中static变量的三大作用
- 详解Python中映射类型的内建函数和工厂函数
- Go语言执行系统命令行命令的方法
- vue动态生成dom并且自动绑定事件
- 用PS实现纹理浮雕效果代码
- JavaScript创建命名空间的5种写法
- PHP 文件扩展名 获取函数
- php抓取网站图片并保存的实现方法
- JavaScript实现时钟滴答声效果
- 仿服务器端脚本方式的JS模板实现方法
- 分享我对JS插件开发的一些感想和心得
- 使用jQuery获得内容以及内容的属性
- Android使用okHttp(get方式)下载图片
- windows/linux大事记
- Python中turtle作图示例
- Python编程实现线性回归和批量梯度下降法代码实例
- Java基于中介者模式实现多人聊天室功能示例
- Swift仿选择电影票的效果并实现无限/自动轮播的方法
- JDBC如何获取数据库连接
- layui问题之自动滚动二级iframe页面到指定位置的方法