编写程序时关于字符串时的一些主要函数

原创 2015年07月08日 21:09:14

1.string

其支持长度可变的字符串,是一个标准的库,在使用时需要加#include<string>头文件,可用getline函数读取整行文本,亦可用cin读取一个以空白字符分割的字符串

(1)getline函数:接受两个参数,一个输入流对象和一个string对象;它从输入流的下一行读取,并保存读取的内容到string中,但不包括换行符;但是getline函数并不忽略行开头的换行符,所以在使用此函数时,如果前面还有输入,最好用getchar()函数将换行符(即回车,‘\n’)吃掉。其返回值是istream参数,使用如下:

int main()

{

 string line;

while(getline(cin,line))

cout<<line<<endl;

return 0;

}

(2)对string对象进行比较,直接用==、>=、>、<、<=等即可

(3)s.size()返回字符串中字符的个数

(4)构造string对象的方法主要有以后几种等:

  1). string s1;//s1是空串

  2). string s2(5,'a');//s2=”aaaaa“

  3). string s3(s2);//直接的赋值构造,使用一个计数器和一个字符初始化

  4). string s4(s3.begin(),s3.end());//s4=''aaaaa',用一对迭代器初始化

  5).string s(cp,n);//创建一个对象,它被初始化为cp所指向数组的前n个元素的副本

  6).string s(s2,pos);//初始化为一个已经存在的string对象s2中从下标0开始到pos的字符副本

  7).string s(s2,pos1,len);//初始化为s2中从下标pos1开始的len个字符副本

string 类型支持大多数顺序容器操作

2.C风格字符串char

(1)以双引号括起来的字符串序列是字符串常量。C++中所有的字符串常量都由编译器自动在末尾添加一个空字符串

      "A":表示字母A和空字符(NULL)两个字符

(2)末尾添了'\0'的字符数组

(3)strlen()计算字符数组的字符数,以'\0'为结束标志,计算不为'\0'的数组元素的个数

(4)memcpy()函数

原型:void *memcpy(void *dest,const void* src,size_t n);从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

(5)memset函数

void* memset(void *s,int ch,size_t n);//将s中前n个字节用ch替换并返回s.

'




版权声明:本文为博主原创文章,未经博主允许不得转载。

建议在编写程序时

保持你的计划简单的开始。常新的程序员,他们想要的所有东西他们的程序有一个宏大的。“我想写的图形和声音和随机怪物和地牢的角色扮演游戏,与城镇可以访问出售的物品,你发现在地牢里,“如果你想写的东西太复杂的...
  • u012504864
  • u012504864
  • 2014年01月02日 09:48
  • 304

建议在编写程序时

建议在编写程序时 保持你的计划简单的开始。常新的程序员,他们想要的所有东西他们的程序有一个宏大的。“我想写的图形和声音和随机怪物和地牢的角色扮演游戏,与城镇可以访问出售的物品,你发现在地牢里,“...
  • u014623200
  • u014623200
  • 2014年10月16日 15:00
  • 257

以日期方式判断闰年

package Date1216;import java.text.ParseException; import java.util.Calendar; import java.util.Gregor...
  • ytfunnysite
  • ytfunnysite
  • 2016年12月16日 13:29
  • 159

VS2013 调试时的 0xCCCCCCCC 读取字符串的字符时出错

0xcccccccc : Used by Microsoft's C++ debugging runtime library to mark uninitialised stack memory 0x...
  • PINBODEXIAOZHU
  • PINBODEXIAOZHU
  • 2015年06月11日 08:22
  • 10540

c/c++ 处理字符串时要注意的问题

c/c++ 处理字符串时要注意的问题。 最近在写一个文件操作的时候,出现了一点儿问题。虽不是大问题,但是不注意的话会产生错误。 写了一个块读取的方法。 从inf 流中,最多读取num个字...
  • u012480384
  • u012480384
  • 2015年03月26日 08:33
  • 615

编程时主要的数据库的连接字符串

我们在使用数据库的时候,首先需要打开这个数据库。 我们可以找到集中类型的数据库,每个都使用不同的连接方式。 下面列举了一下主要的数据库的连接字符串       A:使用ODBC方式   ...
  • wf_csdn2018
  • wf_csdn2018
  • 2018年01月11日 12:55
  • 26

详解Java类、对象、实例化

Java是一种面向对象的语言。由于具有面向对象特性的语言,Java支持以下基本概念: 多态性 继承 封装 抽象化 类 对象 实例 方法 消息解析 在...
  • yangquanhui1991
  • yangquanhui1991
  • 2015年11月06日 11:44
  • 1494

数据结构中散列表的复习笔记

除了各种树表之外,还可以采用散列技术来表示并实现动态查找表。“散列”既是一种存储方式,又是一种查找方法。这种查找方法称为散列查找。按散列存储方式构造的存储结构称为散列表。散列技术的核心是散列函数。 ...
  • u014488381
  • u014488381
  • 2014年12月18日 21:31
  • 912

Linux之写时复制技术

 写入时复制(Copy-on-write)是一个被使用在程式设计领域的最佳化策略。其基础的观念是,如果有多个呼叫者(callers)同时要求相同资源,他们会共同取得相同的指标指向相同的资源,...
  • qq_32744005
  • qq_32744005
  • 2016年08月21日 16:44
  • 391

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)。...
  • rl529014
  • rl529014
  • 2016年03月22日 14:06
  • 4080
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编写程序时关于字符串时的一些主要函数
举报原因:
原因补充:

(最多只允许输入30个字)