string用法详解

标准库类型string,是可变长度的字符序列,支持字符串间的复制、比较、连接,还支持字符串长度查询和是否为空的判断,并且可以访问其中的单个字符。

使用它需要头文件<string>。

1.字符串的连接:

s1=s1+s2; //将字符串2接在字符串1后面,后面可以是以双引号引起来的非string类型的字符串,但是必须至少存在一个string类型的对象。

s1+=s2;//这种运算符都可以使用。

2.字符串长度查询:

利用s.size()的方法可以查询字符串s的长度。因为string也算标准库类型(stl)中的一个,所以也要使用s.的形式。

4.访问其中的单个字符:

像是普通的数组一样,string类型也可以用s[i]的方法来访问字符串s中的第i个字符。

需要注意的是,数组下标的类型并不仅仅是整型,所以在定义下标时,可以使用size_t来定义,例如:

for(size_t i=1;i<=s.size();i++)

还有一种设置方式:string::size type n; s[n];

5.初始化string类型字符串

string s("hello");         /       string s="hello";

string s2(s1)      /       string s2=s1;  //都是拓建一个s1的副本s2,s2的内容等于s1的内容。

string s4(n,'c');    //初始化为由n个c构成的字符串s4。

6.判断字符串是否为空。

与一般的stl相同,只需要使用s.empty()即可。空则返回true,非空则返回false。

7.字符串之间的比较

使用>、<、>=、<=、!=、==等关系运算符即可判断。字符串之间的大小比较是按字典序来比较的,并且区分大小写(特别是判断==的时候)。

8.string类型的数组(???反正就是二维string)

string[n]可以开n列string类型。一列可以存一个字符串。

这样的二维string可以使用sort()进行排序,也是按照字典序进行排序的。

输入string时,可以用cin和getline输入。

">>"输入只能输入一个单词,不能输入空白字符,所以即使用while(cin>>s),也只能保存最后一个单词在s中。

getline(cin,s)可以输入一行字符直到遇到换行符,输出时也输出空格。

用while()输入可以输入至文件末尾EOF(有篇博客说EOF是C函数的返回值,NULL是文件末尾)。wendows可以用Ctrl+z来结束输入。


字符串"hello"是字面值,不是string类型,而是const char*,他们能用<cstring>中的函数,但是string不能使用。用c_str()操作可以将string转换为字符串字面值:s.c_str()。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
strings.com 是强大的纯DOS环境 下的文本处理工具 STRINGS常用方法: 1、把文本文件 LIST.TXT 包含的行数赋值给变量 LN STRINGS LN=LINESIZE LIST.TXT 2、把文本文件 LIST.TXT 的大小传递给变量FS STRINGS FS=FILESIZE LIST.TXT 3、读取文本文件 LIST.TXT 的第5行内容并赋值给变31333137量 LN STRINGS LN=READ LIST.TXT,5 4、把变量 N 在原有基础上+1 和 -1 STRINGS N=ADD %N%,1 STRINGS N=SUB %N%,1 5、把字符串 ABCDEFG 中第四个字符以及后面共3个字符传递给变量 LX (DEF) STRINGS LX=MID ABCDEFG,4,3 6、查找字符串 ABCDEFG 中D所在的位置并赋值给变量DX,如果没找到DX=0 STRINGS DX=FIND ABCDEFG,D 7、找出字符串 ABCD EFG HIJ KLMN 中第二个单词并赋值给变量L2 STRINGS L2=PARSE ABCD EFG HIJ KLMN ,2 应用举例:逐一显示文件 LIST.TXT 各行内容 @ECHO OFF REM 读取LIST.TXT大小如果是0就转入 ERROR段 STRINGS FS=FILESIZE LIST.TXT IF %FS%*==0* GOTO ERROR REM 读取 LIST.TXT 行数 并用N作计数器以循环方式显示 LIST.TXT各行内容。 STRINGS L=LINESIZE LIST.TXT STRINGS L=ADD %L%,1 SET N=0 :LOOP STRINGS N=ADD %N%,1 STRINGS LX=READ LIST.TXT,%N% ECHO %LX% IF %N%*==%L%* GOTO END GOTO LOOP :ERROR ECHO LIST.TXT IS NULL :END SET FS= SET L= SET N= SET LX= --------------------------------------------- NSET 的常用方法: 1、把某一命令的执行结果传递给变量。 A.把 DIR 命令执行结果第7行中的第2个单词传递给变量 DIRX DIR /A /S |NSET /L7 DIRX=$2 B.把当前路径传递给变量 CDX CD |NSET CDX=$0 2、获取 LIST.TXT 文件第5行第2个单词的内容并赋值给变量 L52 NSET /L5 L52=$2 <LIST.TXT 举例:显示出 LIST.TXT 文件中第二个单词是 SYSTEM 的行的内容。 @ECHO OFF REM 读取LIST.TXT大小如果是0就转入 ERROR段 STRINGS FS=FILESIZE LIST.TXT IF %FS%*==0* GOTO ERROR REM 读取 LIST.TXT 行数 并用N作计数器以循环方式显示 LIST.TXT中第二个单词是 REM SYSTEM 的行的内容,每找到一个符合条件的行,就把变量M在原有基础上+1。 STRINGS L=LINESIZE LIST.TXT STRINGS L=ADD %L%,1 SET N=0 SET M=0 :LOOP STRINGS N=ADD %N%,1 STRINGS LX=READ LIST.TXT,%N% REM STRINGS LX2=PARSE %LX%,2 NSET /L%N% LX2=$2 diskn.txt REM 如果存在DISKN2.TXT 就删除之 if exist diskn2.txt del diskn2.txt >nul REM 获取DISKN.TXT文件行数并用N做计数器逐行判断,并把需要的信息传递给DISKN2.TXT REM 如果该行前两个字符是 NO 说明没有硬盘,就退出脚本 RE

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值