一、C字符串与C++字符串的深入理解

对于C语言,需要区分C字符串C字符数组。 

C字符串:以字符NULL(‘\0’)结尾的字符数组; 

C字符数组:数组元素类型为字符类型。

C字符串的的初始化:char str[] = "hello";

C字符串的相关操作,利用“string”中定义的字符串处理函数。 

比如,strcpy(str,"world");//字符串的赋值等。

对于C++字符串,需要注意的是字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作。

C字符串和C++字符串的简单对比

TIP C C++
头文件名 include< string> include< string >
头文件目的 使用字符串处理函数 使用string类
如何声明与初始化 char str[20] = “helllo”; string str = “helllo”;
声明长度和使用NULL字符
实现字符串的赋值 strcpy(str,”world”); str = “world”;

C字符串的输入操作 

字体修改方法

1、使用输入操作符cin来填充字符串变量,char str[20];cin>>str; 

注意:以这种方式来读取字符串时,会忽略最初的空白字符(空格、制表符和换行符),而且输入会在下一个空格或换行符处停止;

2、使用预定义函数getline获取整行输入(包括空格)。char str[20]; getline(str,20);遇到行结束的时候输入才会停止; 

注意:getline 函数有两个参数,第一个参数用于接收输入的C字符串变量;第二个参数用于规定getline最多能接收的字符个数。

C++string类的输入操作 

1、使用输入操作符cin, string str; cin>>str; 

2、使用getline函数, string str; getline(cin,str); 

3、返回字符串的长度,str.length(str);

C字符串和C++string对象之间的转换 

1、C字符串存储到string类型的变量中,例如:

char str[] = "hello";
string mystr;
mystr = str;

2、C++string对象不能自动的转换为C字符串,需要进行显示的类型转换,需要用到string类的成员函数c_str() , strcpy ( a, b.c_str() );

字符串到数字的转换 

atoi函数获取一个C字符串参数,返回对应的int值。如果参数不与一个int值对应,atoi就会返回0。atoi函数在文件为cstdlib的库中。

atoi ( "1234" );//返回整数1234
atoi ( "#123" );//返回0
/* 判断字符串是否为回文字符串*/

#include <iostream>
#include <cstring> using namespace std; bool Palindrome (char* str, int len) {
if (str == NULL) {
return false;
}
bool m = true;
for (int i = 0,j = len-1; i < len; i++,j--) {
if (str[i] != str[j]) {
m = false;
}
}
return m;
} int main (void) {
char mystr[100];
cin>>mystr;
cout<<Palindrome( mystr, strlen(mystr) )<<endl;
return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangjun_huster/article/details/66476757

C/C++字符串笔试知识点及实例的更多相关文章

  1. 使用DataContractJsonSerializer类将类型实例序列化为JSON字符串和反序列化为实例对象 分类: JSON 前端 2014-11-10 10:20 97人阅读 评论(1) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

  2. Java-Runoob-高级教程-实例-字符串:06. Java 实例 - 字符串查找

    ylbtech-Java-Runoob-高级教程-实例-字符串:06. Java 实例 - 字符串查找 1.返回顶部 1. Java 实例 - 字符串搜索  Java 实例 以下实例使用了 Strin ...

  3. Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转

    ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转  Java 实例 以下实例演示了如何使用 J ...

  4. Java-Runoob-高级教程-实例-字符串:04. Java 实例 - 字符串替换

    ylbtech-Java-Runoob-高级教程-实例-字符串:04. Java 实例 - 字符串替换 1.返回顶部 1. Java 实例 - 字符串替换  Java 实例 如何使用java替换字符串 ...

  5. Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符

    ylbtech-Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符 1.返回顶部 1. Java 实例 - 删除字符串中的一个字符  Java 实例 以 ...

  6. Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置

    ylbtech-Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置 1.返回顶部 1. Java 实例 - 查找字符串最后一次出现的位置  Jav ...

  7. Java-Runoob-高级教程-实例-字符串:01. Java 实例 – 字符串比较

    ylbtech-Java-Runoob-高级教程-实例-字符串:01. Java 实例 – 字符串比较 1.返回顶部 1. Java 实例 - 字符串比较  Java 实例 以下实例中我们通过字符串函 ...

  8. Java-Runoob-高级教程-实例-字符串:14. Java 实例 - 连接字符串

    ylbtech-Java-Runoob-高级教程-实例-字符串:14. Java 实例 - 连接字符串 1.返回顶部 1. Java 实例 - 连接字符串  Java 实例 以下实例演示了通过 &qu ...

  9. Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化

    ylbtech-Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化 1.返回顶部 1. Java 实例 - 字符串格式化  Java 实例 以下实例演示了通过 f ...

随机推荐

  1. 牛客小白月赛13 G(双向搜索)

    AC通道 两边同步搜,一步里面A走一次B走两次,遇到对方走过的地方就得到了答案. #include <bits/stdc++.h> using namespace std; const i ...

  2. Ubuntu 16.04 LTS安装Docker

    一.安装Docker的先决条件 1.运行64位CPU构架的计算机(目前只能是x86_64和amd64),请注意,Docker目前不支持32位CPU.2.运行Linux 3.8或更高版本内核.一些老版本 ...

  3. jQuery.data() 与 jQuery(elem).data()源码解读

    之前一直以为 jQuery(elem).data()是在内部调用了 jQuery.data(),看了代码后发现不是.但是这两个还是需要放在一起看,因为它们内部都使用了jQuery的数据缓存机制.好吧, ...

  4. HDU 5875 H - Function 用单调栈水过了

    http://acm.hdu.edu.cn/showproblem.php?pid=5875 单调栈,预处理to[i]表示第一个比a[i]小的数字,一直跳就可以. 这题是数据水而已. 这里学习下单调栈 ...

  5. 牛客网Java刷题知识点之面向对象java的四大特性(抽象、封装、继承、多态)

    不多说,直接上干货! 面向对象java的四大特性之抽象 抽象就是有点模糊的意思,还没确定好的意思. 就比如,要定义一个方法和类.但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口.具体 ...

  6. meta标签的一些用法

    meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <head> <meta http-equiv="conten ...

  7. 仙人掌(cactus)

    题目描述LYK 在冲刺清华集训(THUSC)!于是它开始研究仙人掌,它想来和你一起分享它最近研究的结果.如果在一个无向连通图中任意一条边至多属于一个简单环(简单环的定义为每个点至多经过一次),且不存 ...

  8. 完整uploadify批量上传文件插件使用

    1.首先准备uploadify的js文件,网上一搜一大堆 2.上传页面UpFilePage.aspx 关键代码: <html xmlns="http://www.w3.org/1999 ...

  9. H5的storage(sessionstorage&localStorage)简单存储删除

    众所周知,H5的storage有sessionstorage&localStorage,其中他们的共同特点是API相同 下面直接上代码,storage中的存储与删除: <!DOCTYPE ...

  10. 织梦dedecms手机版上下篇链接错误的解决方法

    打开 \include\arc.archives.class.php 1. 找到 $this->PreNext['pre'] = "上一篇:<a href='$mlink'> ...