文档库 最新最全的文档下载
当前位置:文档库 › CString,string,char的综合比较

CString,string,char的综合比较

CString,string,char的综合比较
CString,string,char的综合比较

CString,string,char*的综合比较

(一) 概述

string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;

CString(typedef CStringT> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI与unicode均可);

char*为C编程中最常用的字符串指针,一般以’\0’为结束标志;

(二) 构造

string是方便的,可以从几乎所有的字符串构造而来,包括CString和char*;

CString次之,可以从基本的一些字符串变量构造而来,包括char*等;

char*没有构造函数,仅可以赋值;

举例:

char* psz = “joise”;

CString cstr( psz );

string str( cstr );

(三) 运算符重载

a) operator=

string是最方便的,几乎可以直接用所有的字符串赋值,包括CString和char*;

CString次之,可以直接用些基本的字符串赋值,包括char*等;

char*只能由指针赋值,并且是极危险的操作,建议使用strcpy或者memcpy,而且char*在声明的时候如未赋初值建议先设为NULL,以避免野指针,令你抓狂;

举例:

char *psz = NULL;

psz = new char[10]; //当然,以上的直接写成char *psz = new char[10];也是一样

memset( psz, 0, 10 );

strcpy( psz, “joise” );

CString cstr;

cstr = psz;

string str;

str = psz;

str = cstr;

delete []psz;

b) operator+

string与CString差不多,可以直接与char*进行加法,但不可以相互使用+运算符,即string str = str + cstr是非法的,须转换成char*;

char*没有+运算,只能使用strcat把两个指针连在一起;

举例:

char* psz = “joise”;

CString cstr = psz;

cstr = cstr + psz;

string str = psz;

str = str + str + psz;

strcat( psz, psz );

strcat( psz, cstr );//合法

strcat( psz, str );//非法,由此可见,CString可自动转换为const char*,而string不行

c) operator +=

string是最强大的,几乎可以与所有的字符串变量+=,包括CString和char*;

CString次之,可以与基本的一些字符串变量进行+=而来,包括char*等;

char*没有+=运算符,只能使用strcat把两个指针连在一起;

d) operator[]

CString最好,当越界时会抛出断言异常;string与char*下标越界结果未定义;

举例:

char* psz = “joise”;

CString cstr = psz;

cout << cstr[8];

string str = psz;

cout << str[8];

cout << psz[8];

e) operator== 、operator!=、operator> 、operator< 、operator>= 、perator<=

CString与string之间不可以进行比较,但均可以与char*进行比较,并且比较的是值,而不是地址;

cout << ( psz == cstr );

cout << ( psz == str );

cout << ( str == psz );

cout << ( cstr == psz );//以上代码返回均为1

(四) 常用算法

a) 查找

作用char* string CString

查找指定值strchr

strstr

strrstr

strspn find Find

第一个匹配的值fild_first_of FindOneOf

从后面开始查找ReserveFind

指定匹配方式find_if

注:find_if中是把范围内的值挨个代入匹配函数直至返回true

b) 比较

作用char* string CString

查找指定值(区分大小写) strcmp

strncmp

strcoll

_strncoll operator<

operator>

operator<=

operator>=

operator==

operator!= Collate

Compare

查找指定值(不区分大小写) _stricmp

_strnicmp

_stricoll

_strnicoll CollateNoCase

CompareNoCas

注:返回值如果<0则前面的值小于后面的值,反之亦然c) 替换

作用char* string CString

查找指定值_strset

_strnset

replace

replace_copy

replace_copy_if

replace_if Replace

d) 插入

作用char* string CString

查找指定值insert Insert

e) 增加作用char* string CString 动态增加值strcat push

append Append

AppendChar

AppendFormat

f) 截取

作用char* string CString

得到部分值用下标操作substr Left

Mid

Right

Truncate

g) 移除

作用char* string CString

移除部份值remove Remove

移除空白值RemoveBlanks

注:此为ATL提供,非C函数remove_if Trim

TrimLeft

TrimRig

h) 转换大小写

作用char* string CString 转换大小写_strlwr

_strupr MakeLower MakeUpper

i) 与其他类型转换

作用char* string CString 转化为数字atoi

atod

atof Format

转化为char* c_str GetBuffer

GetBufferSetLen

j) 格式化

作用char* string CString 格式化sprintf Format

k) 得到长度

作用char* string CString

得到长度strlen length GetLength

得到大小size GetAllocLength

l) 判断为空

作用char* string CString

判断是否为空判断是否==NULL或者第一个字符是否是’\0’empty IsEmpty

m) 重定义大小

作用char* string CString

重定义大小realloc

new resize GetBufferSetLength

n) 释放资源

作用char* string CString

释放free

delete (delete[]) ReleaseBuffer ReleaseBufferSetLength

(五) 安全性>

CString > string > char*;

(六) 灵活性

CString > string >char*;

(七) 可移植性

char* = string > CString

小学常考标点符号用法整理

这些常考标点符号用法,务必让孩子掌握 标点符号是语文学习不可缺少的内容,标点符号掌握得不好,不仅会影响孩子的作文写作,还会影响孩子的语言表达。 正确使用标点符号很重要,在平时的学习中,这些常用标点符号的用法,老师家长一定要教会孩子! 一句末尾用句号,语气平缓调不高。 读书见它要停顿,作文断句莫忘掉。 基本用法 1.用于句子末尾,表示陈述语气。使用句号主要根据语段前后有较大停顿、带有陈述 语气和语调,并不取决于句子的长短。 示例1:北京是中华人民共和国的首都。 2.示例2:(甲:咱们走着去吧?)乙:好。 2. 有时也可表示较缓和的祈使语气和感叹语气。 示例1:请您稍等一下。 示例2:我不由地感到,这些普通劳动者也同样是很值得尊敬的。 常见错误 1. 当断不断,一逗到底。 2. 不当断却断了,割裂了句子。 如:生产成本居高不下的原因,一个是设备落后,能耗高。另一个是管理不善,浪费严重。("能耗高"后面的句号应改作逗号) 当选项较多或较长,或有意突出每个选项的独立性时,也可每个选项之后都用问号。 示例1:诗中记述的这场战争究竟是真实的历史描述,还是诗人的虚构? 示例2:这是巧合还是有意安排? 示例3:要一个什么样的结尾:现实主义的?传统的?大团圆的?荒诞的?民族形式的?有象征意义的? 示例4:(他看着我的作品称赞了我。)但到底是称赞了我什么:是有几处画得好?还是什么都敢画?抑或是一种对于失败者的无可奈何的安慰?我不得而知。 示例5:这一切都是由客观的条件造成的?还是由行为的惯性造成的? 3. 在多个问句连用或表达疑问语气加重时,可叠用问号。 通常应先单用,再用叠用,最多叠用三个问号。在没有异常强烈的情感表达需要时不宜叠用问号。 示例:这就是你的做法吗?你这个总经理是怎么当的??你怎么竟敢这样欺骗消费者??? 4. 问号也有标号的用法,即用于句内,表示存疑或不详。 示例1:马致远(1250?—1321),大都人,元代戏曲家、散曲家。

java String类的用法

1 String 类的用法 public class SetStringValue { /** * @param args */ public static void main(String[] args) { String str1=new String("Java是当今最流行的编程语言之一");//截取数组 String str2="java是优秀的技术"; char[] szStr={'H','e','l','l','o',',','j','a','v','a'}; String str3=String.copyValueOf(szStr);//复制数组,所有数组。 String str4=String.copyValueOf(szStr,6,4);//所取数组,开始位置,所取个数 System.out.println(str1); System.out.println(str2); System.out.println(str3); System.out.println(str4); // TODO Auto-generated method stub } } 2 public class StringPool { /** * @param args */ public static void main(String[] args) { String str1="Good!"; String str2="Good!"; String str3=new String("Good!"); if(str1==str2)//判断地址是否相同 { System.out.println("str1=str2");//地址相同则输出相等

常用符号的调出

常用符号的调出 平时经常要输入一些像“★”、“√”之类的特殊符号,或是“壹万贰仟叁佰肆拾伍元”之类的大写金额,很多朋友不知道该如何通过常用输入法快速输入,另外在使用输入法过程中,也时常会出现用五笔输入时有些字不会拆分,用拼音输入时有些字不会读音的情况,这时又该如何来快速输入这些疑难字呢?我们把大家常用的输入法汇集在一起,介绍一下如何解决这些常见的特殊输入问题。同时对于大家选择适合自己的输入法也是一个很好的参考。 小提示 很多朋友在使用输入法时,会发现一些文字明明拆分或拼音都输入正确了,但就是打不出需要的字,这时你需要检查一下输入法的设置,确认已经打开“GBK”编码,通常为了减少重码,输入法默认使用的是gb2312编码,这种情况下只能输入6763个常用汉字。 五笔输入法 一、极点中文 1.输入特殊符号 首先可以按下Shift+Esc组合键快速调出软键盘,按住Shift键后按动Esc键,就会在多个软键盘之间切换,按Esc键即可关闭软键盘。 极点中文把特殊符号分为22种类型,并进行了特殊编码,其编码定义的基本规则是两个字母“Z”加上代表特殊符号类型的两个声母,常用的特殊符号编码有(全部编码可查阅帮助文档): zzbd 标点符号zzpy 拼音符号zzts 特殊符号 zzsx 数学符号zzdw 单位符号zzjt或zzj 箭头符号 zzys或zzy 圆圈数字zzpp 偏旁

例如要输入“★”符号,则可以键入“zzts”,然后根据提示条中的显示按“6”即可使符号上屏(见图1)。 小提示 我们可以在极点中文提示条上右击,选择菜单“管理工具→用户码表”来对默认的特殊符号编码进行修改,同时也可以自行添加新的编码。 2.输入中文日期 在极点中文中输入中文日期是非常方便的,其编码格式为分号“;”加上“XXXXnXXyXX r”,其中的X分别代表要输入的年月日数字。例如要输入“二○○五年四月一日”,则键入编码“;2005n4y1r”,这时在提示条中会显示出数字日期和中文日期两种格式,按下数字“2”即可输入中文日期了(见图2)。 小提示 要使用该功能,需要在极点中文的基本设置中选择“快捷英文热键”为“分号(;)”才行,不过这样设置后,输入中文分号“;”就需要按两下“;”键了。 如果想快速输入当前日期,那就更方便了,键入编码“znyr”可以输入当前年月日,键入编码“year”可以输入当前年份,键入编码“date”可以输入当前日期,键入编码“time”可以输入当前时间,键入编码“now”则可以输入当前精确时间,键入编码“week”可以输入当前星期几。 3.输入大写数字和金额 极点中文的大写数字编码规格是分号“;”加上数字序列,例如当键入“;12345”时,提示条中会显示三种大写数字格式(见图3),选择需要使用的格式即可,按“回车”键选择第一项,

STRING类函数用法总结3

C++中的string类 前言:string的角色 1string使用 1.1充分使用string操作符 1.2眼花缭乱的string find函数 1.3string insert,replace,erase2string和C风格字符串 3string和Charactor Traits 4string建议 5小结 6附录前言:string的角色 C++语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl,php,和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。 举例来说,如果文本格式是:用户名电话号码,文件名name.txt Tom23245332 Jenny22231231 Heny22183942 Tom23245332 ... 现在我们需要对用户名排序,且只输出不同的姓名。 那么在shell编程中,可以这样用: awk'{print$1}'name.txt|sort|uniq 简单吧? 如果使用C/C++就麻烦了,他需要做以下工作: 先打开文件,检测文件是否打开,如果失败,则退出。 声明一个足够大得二维字符数组或者一个字符指针数组 读入一行到字符空间 然后分析一行的结构,找到空格,存入字符数组中。 关闭文件 写一个排序函数,或者使用写一个比较函数,使用qsort排序 遍历数组,比较是否有相同的,如果有,则要删除,copy... 输出信息 你可以用C++或者C语言去实现这个流程。如果一个人的主要工作就是处理这种

string类的使用教程

这个是string类的使用教程,可以参考一下 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用= 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……… 首先,为了在我们的程序中使用string类型,我们必须包含头文件。如下:#include //注意这里不是string.h string.h是C字符串头文件 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s 的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。 2.字符串操作函数 这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。 a) =,assign() //赋以新值 b) swap() //交换两个字符串的内容 c) +=,append(),push_back() //在尾部添加字符 d) insert() //插入字符 e) erase() //删除字符 f) clear() //删除全部字符 g) replace() //替换字符 h) + //串联字符串 i) ==,!=,<,<=,>,>=,compare() //比较字符串 j) size(),length() //返回字符数量

C++ string类专题(修订版)

本文作者:黄邦勇帅(编著)(原名:黄勇) 本文是学习C++的附加内容,主要介绍了C++中的string类的各种成员函数,及成员函数的功能与作用,是作为学习C++的参考使用的。 本文内容完全属于个人见解与参考文现的作者无关,其中难免有误解之处,望指出更正 本文使用的是x86机器(主流计算机都是x86机器),windows xp操作系统,VC++2010编译器进行讲解的。 本文内容完全属于个人见解与参考文现的作者无关,限于水平有限,其中难免有误解之处,望指出更正。 声明:禁止抄袭,复印,转载本文,本文作者拥有完全版权。 主要参考文献: 1、C++.Primer.Plus.第五版.中文版[美]Stephen Prata著孙建春韦强译人民邮电出版社 2005年5月 2、C++.Primer第四版.中文版 Stanley B.Lippman、Barbara E.Moo、Josee Lajoie著李师贤、蒋爱军等译人民邮电出版社 2006年3月 3、C++.Primer第三版.中文版 Stanley B.Lippman、Josee Lajoie著潘爱民、张丽等译中国电力版社 2002年5月 第19部分 string类专题(共9页) (2016-7-15 修订版) 1、string类用于处理字符串,用于代替使用不方便的C风格字符串,使用string类表示的字符串我们可以像处理普通 变量那样处理字符串,因此可以对string类表示的字符串进行直接的相加,比较,赋值等操作,比如string s1=”abc”,s2=”def”;则s1=s1+s2;结果s1=”abcdef”;s1=s2;则结果s1=”def” 等,C风格字符串只能使用内置的库函数进行这些操作,使用很不方便,比如char c1[]=”abc”; char c2[]=”def”;则c1=c2;错误,不能改变数组的地址,c1>c2比较的是两个指针的地址而不是字符的大小;c1+c2;错误,这是把两个指针的地址相加而不是把两个字符数组相加。 2、string对象创建的字符串的最大特点是:可以自动调整对象大小以适应所需的字符串,string对象能存储的最大字符 数由string类的静态常量string::npos设定,通常是最大的unsigned int值。 一、string类的原型 1、要使用string类需要包含string头文件。 2、string是一个模板类,因此它具有类和模板的特性,也就是说string类有构造函数、重载的操作符、成员函数等, 因为string是模板类,因此应建一个模板类具体实例化版本的对象才能使用,然后通过对象调用成员函数使用类。 3、记住string s;创建的s是一个类的对象,而不是字符串字面值,他们是两种不同的类型。 4、string类是模板类basic_string类的char特化体版本使用typedef命名后的别名,wstring类是模板类basic_string的 wchar特体化版本使用typedef命名后的别名。 5、basic_string类的原型为(重点): template, class Allocator=allocator > class basic_string; 1)、charT是个类型模板形参,若实例化时传递char类型,则charT=char,传递wchar则charT=wchar 2)、traits是类型模板形参,描述了字符串的特征,比如字符串是否以’\0’作为结束尾等。traits要求传递一个 char_traits的模板类型作为实参。 3)、Allocator也是个类模板形参,他的主要作用是用于处理字符串的内存分配问题,默认使用new和delete分配内 存。Allocator要求传递一个allocator类型的模板类型作为实参。 4)、basic_string有两个特化体版本(重点),如下所示,当然我们也可以实例化其他类型版本的base_string类模板, ①、typedef base_string string; //即string类是使用typedef重命名后的basic_string类模板的char特化体版本。 ②、typedef base_string wstring; //主要用于处理宽字符串。 6、size_type类型(重要):size_type是basic_string类中定义的类型,一般被定义为unsigned类型。需要使用限定名的 方法来使用size_type类型,比如string::size_type a;或basic_string::size_type a; 7、npos静态常量(重要):表示string对象能够存储的最大字符数,其形式为:static const size_type npos=-1; 可见npos 是basic_string类中定义的静态常量,其类型为size_type其值为-1,对于无符号的size_type变量,赋值为-1,相当于是把最大的无符号数赋值给了他。 二、string类的构造函数 1、basic_string的构造函数与char特化版本的string构造函数的差别,只在于basic_string构造函数多了一个用于分配

标点符号的各个用法总复习

标点符号的各个用法总复习 一、基本用法:掌握逗号、句号、顿号、问号、感叹号、冒号、引号、省略号、书名号和分号这十种标点符号。现将这十种标点符号的用法作如下介绍: (一)逗号[用,表示]用来表示一句话中间的停顿,占一格,点在格的左下方。例:我们都是来自五湖四海,为了一个共同的革命目标,走到一起来了。 (二)句号[用。表示]表示一句话说完之后的停顿。它一般用在陈述句和不带明显的命令口气的祈使句的末尾,占一格,点在格的左下方。 例1 :刘胡兰是一位闻名全国的女英雄。例2:请递给我一杯水。(祈使句) (三)顿号[用、表示]表示句子中并列词语之间较小的停顿,占一格,点在格的左下方。这里需要注意的是:句子中并列成分,比较小的停顿用顿号,而较长的停顿用逗号,两者之间的区别在于停顿的长短。 例:总攻开始了,军号声、枪声、炮声、喊杀声,立刻混成一片,震动着山谷。 (四)问号[用?表示]表示一句问话完了之后的停顿,用问号,问号占一格,点在格的中间。不论是疑句,还是设问、反问,当问句的意思表示完了,就用问号表示停顿。 例:①你叫什么名字?(疑问)②这不是伟大的奇观吗?(反问) ③是谁创造了人类世界?是我们的劳动群众。(设问) (五)感叹号[用!表示]表示感情强烈的句子完了之后的停顿,用感叹号。感叹号一般用在感叹句和祈使句的末尾,占一格,点在格的中间。凡是感情色彩比较浓的句子,诸如喜爱、赞美、悲伤、怀念、请求、命令、愤怒、惊讶等,在一句话说完后,应该用感叹号表示停顿。例:①您就让我再试一试吧!(请求)②我的“小咪咪”多可爱啊!(喜爱)③什么,“迷糊”也考了一百分!(惊奇) ④你们坐在敌人只要一发炮弹就能送你们升天的地方,还在忙什么别的事!乱弹琴!(气愤)⑤他白了我一眼,说:“别动!”(命令) (六)冒号[用:表示]主要用于句子中表示提示、总结之后的停顿,占一格,点在格的左下方。由于冒号主要有以下用途: (1)冒号用于引述语之前,表示后面是所要说的话或引用别人的话。例:毛泽东主席宣布:“中华人民共和国中央人民政府今天成立了!” (2)冒号用于提示语或总结语之后,表示后面还有话说。 例:商店里什么都有:服装、布匹、文具、食品…… (3)冒号还用于书信的称呼之后,其作用也是表示提示。 例1、敬爱的解放军叔叔:2、颜黎民君: (4)用在解释性的分句之前,具有解释说明的作用。如:不过只看一个人的著作,结果是不大好的:你就得不到多方面的优点。 (5)用在总提与分述之间,使两者眉目清楚。 如:我决心做到以下几点:一、每天按时做好作业;二、看一些儿童读物…… (6)用在动词谓语和较长的宾语之间,便于阅读理解。如:我知道:越是在艰苦的时候,战士们越关心自己的领导。 (七)引号:引号表示文中的引用部分,就形式而言,分为双引号[用“”表示]和单引号[‘ ']两种。一般说,单独使用引号用双引号,而引用的话中还需要用引号时,外面用双引号,里面用单引号。 例:赵大叔拍了拍牛头说:“累不累,‘独角龙'? 小学阶段引号的用法主要有以下三种:

Qt 的QString类的使用

Qt 的QString类的使用Qt的QString类提供了很方便的对字符串操作的接口。 1.使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替。 QString::fill ( QChar ch, int size = -1 ) 例: QString str = "Berlin"; str.fill('z'); // str == "zzzzzz" str.fill('A', 2); // str == "AA" 2,从字符串里查找相同的某个字符串str。 int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const 例如: QString x = "sticky question"; QString y = "sti"; x.indexOf(y); // returns 0 x.indexOf(y, 1); // returns 10 x.indexOf(y, 10); // returns 10 x.indexOf(y, 11); // returns -1 3指定位置插入字符串 QString & QString::insert ( int position, const QString & str ) 例如: QString str = "Meal"; str.insert(1, QString("ontr")); // str == "Montreal" 3,判断字符串是否为空。 bool QString::isEmpty () const 如: QString().isEmpty(); // returns true QString("").isEmpty(); // returns true QString("x").isEmpty(); // returns false QString("abc").isEmpty(); // returns false

特殊数学符号大全和使用word经验

1 几何符号 ?ⅷⅶ????△ 2 代数符号 ⅴⅸⅹ~?????ⅵ? 3运算符号 ×÷ⅳ± 4集合符号 ??ⅰ 5特殊符号 ⅲι(圆周率) 6推理符号 |a| ??△ⅶ????±?? ⅰ? ???↖↗↘↙ⅷⅸⅹ &; § ??←↑→↓??↖↗ ΓΔΘΛΞΟΠΣΦΧΨΩ ???????αβγδε ζ ηθικλμνξοπρ ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ

ⅰⅱⅲ?ⅳⅴⅵ? ⅶ?ⅷⅸⅹ???? ????????????????⊕?? ??℃ 指数0123:o123 上述符号所表示的意义和读法(中英文参照) + plus 加号;正号 - minus 减号;负号 ± plus or minus 正负号 × is multiplied by 乘号 ÷ is divided by 除号 = is equal to 等于号 ? is not equal to 不等于号 ? is equivalent to 全等于号 ? is approximately equal to 约等于 ? is approximately equal to 约等于号 < is less than 小于号 > is more than 大于号 ? is less than or equal to 小于或等于 ? is more than or equal to 大于或等于 % per cent 百分之… ⅵ infinity 无限大号 ⅳ (square) root 平方根

X squared X的平方 X cubed X的立方 ? since; because 因为 ? hence 所以 ⅶ angle 角 ? semicircle 半圆 ? circle 圆 ○ circumference 圆周 △ triangle 三角形 ? perpendicular to 垂直于 ? intersection of 并,合集 ? union of 交,通集 ? the integral of …的积分 ⅲ (sigma) summation of 总和 ° degree 度 ′ minute 分 〃 second 秒 # number …号 @ at 单价 *标点符号:

C 中的string常用函数用法总结.

C++中的string常用函数用法总结首先,为了在我们的程序中使用string类型,我们必须包含头文件。 如下: #include //注意这里不是string.h string.h是C字符串头文件 #include using namespace std; 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多st rlen”的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。

几种特殊符号的作用

破折号的作用 1.解释说明 2.表示递进 3.表示延长 4.表示转折 5.加强重点 要看下文的。 除省略外,省略号还有以下几种用法: 1、表示沉默: 例:何为:梅伯母的身体已经经不起路上的颠簸了!欧阳平:…… 2、表语言中断: 例:穿长袍的问:"这位是……""我的兄弟。"戴礼帽的回答。 破折号也可表语言中断,但两者有不同:破折号表语言戛然而止,省略号表余音未尽。 3、表语言断断续续。 例:上级……派我……到这儿……工作,我没……有……完成……上级……交给我的……任务。 4、表含糊其辞,欲言又止 例:我即刻胆怯了起来,便想全翻过先前的话来,"那是……实在,……我说不清……。其实,究竟有没有魂灵,我也说不清。" 5、表明语意未尽。 例:"可恶!然而……。"四叔说。 使用省略号时应注意以下问题: (1)不可滥用省略号。一是省略号后语境不明的不能用省略号,而是没有上述特殊语意不能用省略号。 (2)、用了"等"、"等等"就不能再用省略号。(省略号和"等"、"等等"有不同,省略号表示的可以是各种需要省略的,而后者只能是类似的词语或意思。) (3)要正确处理省略号前后的点号问题:一是省略号前是个完整的句子的,省略号前应使

用句末标点,表示省略的是句子;二是省略号前不是完整句子的,省略号前一般不用点号,表示省略的是词语、短语;三是省略号后一般不用标点。 (4)、如果省略的是一大段或几段文字,就用十二个圆点表示,单独成行,不顶格。 作用有五点:1.表示直接引用2.表示突出强调3.表示否定4.表示特定称谓5.用来引用俗语、谚语、歇后语、古语等 引号的作用 表示文中引用的部分。引号有双引号和单引号两种。一般用双引号,引文内还有引文,就用单引号。双引号和单引号反复使用。直接引用别人的话,用引号;间接引用别人的话,不用引号。连续引用几个文段时,每段开头都要用前引号,只在最后一段用后引号。 引号的作用主要有: a.表示直接引用别人的话 b.表示特定称谓 c.表示特殊含义需要强调 d.表示否定和讽刺 5.用来引用俗语、谚语、歇后语、古语等 引语指行文中引用他人的话。成语、格言、诗词等,也包括拟声词、音译词。特定称谓指具有某些特点的名称、简称、专用术语以及纪念日等。特殊含义指引号中的词语在其具体的语言环境中产生了新的意思。 使用引用时,引文末尾标点的位置要注意。凡是把引用的话独立来用,末尾点号放在引号里边。如果引用的内容是句子的一个组成部分,即引文没有独立性,引用部分末尾不用点号(问号、叹号可保留),整个句子该停顿处则停顿,该用何点号则用何点。

c++中string的用法

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include //注意这里不是string.h string.h是C字符串头文件 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内"始于位置stridx"的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内"始于stridx且长度顶多strlen"的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。 2.字符串操作函数 这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。 a) =,assign() //赋以新值 b) swap() //交换两个字符串的内容 c) +=,append(),push_back() //在尾部添加字符 d) insert() //插入字符 e) erase() //删除字符 f) clear() //删除全部字符 g) replace() //替换字符 h) + //串联字符串 i) ==,!=,<,<=,>,>=,compare() //比较字符串 j) size(),length() //返回字符数量 k) max_size() //返回字符的可能最大个数 l) empty() //判断字符串是否为空 m) capacity() //返回重新分配之前的字符容量

生活办公应用特殊符号大全

囧?●○⊕◎Θ?¤㈱㊣★☆♀◆◇◣◢◥▲▼△▽⊿◤◥▂▃ ▄ ▅▆▇ █ █ ■ ▓ 回□ 』≡ ╝╚╔ ╗╬ ═ ╓ ╩ ┠┨┯┷┏┓┗┛┳?》「┌ ┐└ ┘∟〉《↑↓→←↘↙♀♂┇┅﹉﹊﹍﹎╭╮╰╯ *^_^* ^*^ ^-^ ^_^ ^(^ ∵∴‖||︴﹏﹋﹌()【】」『〒〓@:!/\ " _ < > `,·。≈{}~ ~() _ -》「√ $ @ * & # ※卐?∞Χ ∪∩∈∏ の℡〔§∮"″ミ灬μ№∑?μδω* ㄚ≮≯+-×÷+-±/=∫∮∝∞ ∧∨∑ ∏ ‖∠≌?≤ ≥ ≈<>じ☆veve↑↓?●★☆■♀》「Χ ※→№←㊣∑?〒〓@μδω□∮』※∴ぷ∏卐」『△√ ∩¤?♀♂∞?ㄚ≡↘↙┗┛╰☆╮??????????????????????????????丨丩丬丶丷丿乀乙乂乄乆乛亅亠亻冂冫冖凵刂讠辶釒钅阝飠牜饣卩卪厸厶厽孓宀川巜彳廴三彐彳忄扌攵氵灬爫犭病癶礻糹纟罒冈耂艹虍言西 兦亼亽亖亗盲凸凹卝卍卐匸皕旡玊尐开木囘囙囚四囜囝回囟因女团団囤亢囦囧囨云囱囫囬园化囯困囱囲図围抡囶囷正囹固囻囼国图囿圀圁圂圃吾圅圆囵圈幸青国圌围园圏圐圑员圆圔圕图圗团圙圚圛圈圝圞 一般常用特殊符号 ,、。.?!~$%@&#*? ;∶ … ¨ ,· ˙ ? … ? “ ” "″ `′ 〃↑ ↓ ← → ↖↗↙↘㊣◎ ○ ● ⊕? ○ ● △ ▲ ☆★◇◆ □ ■ ▽ ▼ § ?〒??※ ♀ ♂ 贴图符号大全 A、希腊字母大写ΑΒΓΓΔΕΖΘΗΚ∧ΜΝΞΟ∏Ρ∑ΤΥΦΦΧΨ B、希腊字母小写α β γ δ ε δ ε ζ η θ ι κ λ μ ν π ξ ζ η υ θ χ ψ ω C、俄文字母大写АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ D、俄文字母小写а б в г д е ? ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я E、注音符号??ㄅㄌㄐㄔㄘ?ー??ㄆㄉㄙㄍㄑㄕ?ヽ??ㄇㄊㄚㄎㄒㄖ???ㄈㄋㄛㄏㄓㄗ F、拼音ā á ǎ à、ō ó ǒ ò、ê ē é ě è、ī í ǐ ì、ū ú ǔ ù、ǖ ǘ ǚ ǜ ü G、日文平假名〔ぃぅぇぉかきくけこんさしすせそたちつってとゐなにぬねのはひふへほゑまみむめもゃゅょゎを H、日文片假名?ィゥヴェォカヵキクケヶコサシスセソタチツッテトヰンナニヌネノハヒフヘホヱマミムメモャュョヮヲ I、标点符号ˉˇ¨…??~‖∶”?…|〃【】〇〈〉《》「.〒〓」」『()【】{} J、数字序号ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ??????????一二三四五六七八九十

Android的String用法

String : 字符串类型 一、构造函数 String(byte[ ]bytes):通过byte数组构造字符串对象。 String(char[ ]value):通过char数组构造字符串对象。 String(Sting original):构造一个original的副本。即:拷贝一个original。 String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。 例如: byte[] b = {'a','b','c','d','e','f','g','h','i','j'}; char[] c = {'0','1','2','3','4','5','6','7','8','9'}; String sb = new String(b); //abcdefghij String sb_sub = new String(b,3,2); //de String sc = new String(c); //0123456789 String sc_sub = new String(c,3,2); //34 String sb_copy = new String(sb); //abcdefghij System.out.println("sb:"+sb); System.out.println("sb_sub:"+sb_sub); System.out.println("sc:"+sc); System.out.println("sc_sub:"+sc_sub); System.out.println("sb_copy:"+sb_copy); 输出结果:sb:abcdefghij sb_sub:de sc:0123456789 sc_sub:34 sb_copy:abcdefghij 二、方法: 说明:①、所有方法均为public。 ②、书写格式:[修饰符] <返回类型><方法名([参数列表])> 例如:static int parseInt(String s) 表示此方法(parseInt)为类方法(static),返回类型为(int),方法所需要为String类型。 1. char charAt(int index):取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。 例如:String s = new String("abcdefghijklmnopqrstuvwxyz"); System.out.println("s.charAt(5): " + s.charAt(5) ); 结果为:s.charAt(5): f 2.int compareTo(String anotherString):当前String对象与anotherString比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。 3. int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。 例如:String s1 = new String("abcdefghijklmn"); String s2 = new String("abcdefghij"); String s3 = new String("abcdefghijalmn"); System.out.println("https://www.wendangku.net/doc/8911002622.html,pareTo(s2): " + https://www.wendangku.net/doc/8911002622.html,pareTo(s2) ); //返回长度差

标点符号的特殊用法

常见错误使用的标点符号 《语文课程标准》在初中阶段对标点符号的要求是“能正确使用常用标点符号”。由于近年来中考对于标点符号的考查分值增加至4分,尤其是对标点符号的正确使用提出了更高的要求。普 通标点符号的使用在此不再赘述,本文只针对句子中标点符号的特殊使用进行一些说明,以求提高对标点符号的正确使用和应对中考。 一、逗号的运用 1在一个句子中插入“说”。如果第一组引号内的内容不是一句完整的话,那么在反引号内使用逗号;如果第一组引号内的内容表达一句完整的意思,那么在反引号内使用句号。 正确使用“他非常喜欢帮助人,”小明说,“你也需要帮助吗?” 常见错误“他非常喜欢帮助人”,小明说:“你也需要帮助吗?” 正确使用“就这样吧。”他说,“明天你和我一起去。” 常见错误“就这样吧”。他说,“明天你和我一起去。” 2、在一句话中表示并列的同类事物间用顿号,表示不同类事物时,用逗号区别开。 正确使用今天早上他去买了白菜、萝卜、青椒,菠萝、苹果、葡萄,清洁剂、肥皂、洗 衣粉等。 常见错误今天早上他去买了白菜、萝卜、青椒、菠萝、苹果、葡萄、清洁剂、肥皂、洗 衣粉等。 二、弓I号的运用 1句末表示直接引用(有些语法书叫做完全引用、完整引用)时,标点符号在引号内。正确使用林小姐惊讶地说:“哎呀,全是东洋货!明儿叫我穿什么衣服?” 常见错误林小姐惊讶地说:“哎呀,全是东洋货!明儿叫我穿什么衣服”? 2、如果是句中间接引用作为其中一个部分时,那么在反引号内外均不使用任何标点符号。 正确使用他终于明白了“谦虚使人进步,骄傲使人落后”这个道理。 常见错误他终于明白了“谦虚使人进步,骄傲使人落后。”这个道理。 错误使用 3、如果是句末间接引用作为其中一个部分时时,那么标点符号用在反引号外。 正确使用通过这件事,他终于明白“谦虚使人进步,骄傲使人落后”。 常见错误通过这件事,他终于明白“谦虚使人进步,骄傲使人落后。” 4、转述他人的话时,不用冒号和引号。 正确使用吴华让我给王老师说,他今天生病,不来上课了。 常见错误吴华让我给王老师说:“他今天生病,不来上课了。” 5、表示活动主题或事物名称时使用引号强调,不能使用书名号。 正确使用今天学校举行了“学雷锋,树新风”活动。 常见错误今天学校举行了《学雷锋,树新风》活动。 6、如果“某某说”在引语后,它后面要用句号。 正确使用“哎呀,全是东洋货!明儿叫我穿什么衣服?”林小姐哭丧着脸说。 常见错误“哎呀,全是东洋货!明儿叫我穿什么衣服?”林小姐哭丧着脸说。 三、问号的运用 1连续问句,每个问句末均用问号。

C 中的STRING用法

#include//注意是,不是,带.h的是C语言中的头文件using std::string; using std::wstring; 或 using namespace std; 下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。 string和wstring的用法是一样的,以下只用string作介绍: string类的构造函数: string(const char*s);//用c字符串s初始化 string(int n,char c);//用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常; string类的字符操作: const char&operator[](int n)const; const char&at(int n)const; char&operator[](int n); char&at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char*data()const;//返回一个非null终止的c字符数组 const char*c_str()const;//返回一个以null终止的c字符串 int copy(char*s,int n,int pos=0)const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 string的特性描述: int capacity()const;//返回当前容量(即string中不必增加内存即可存放的元素个数)int max_size()const;//返回string对象中可存放的最大字符串的长度 int size()const;//返回当前字符串的大小 int length()const;//返回当前字符串的长度 bool empty()const;//当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作: string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。函数getline(istream&in,string&s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。

Java中String的用法总结

构造方法: String() 初始化一个新创建的String 对象,它表示一个空字符序列。 String(byte[] bytes) 构造一个新的String,方法是使用平台的默认字符集解码字节的指定数组。String(byte[] bytes, int offset, int length) 构造一个新的String,方法是使用指定的字符集解码字节的指定子数组。String(byte[] bytes, int offset, int length, String charsetName) 构造一个新的String,方法是使用指定的字符集解码字节的指定子数组。String(byte[] bytes, String charsetName) 构造一个新的String,方法是使用指定的字符集解码指定的字节数组。 String(char[] value) 分配一个新的String,它表示当前字符数组参数中包含的字符序列。 String(char[] value, int offset, int count) 分配一个新的String,它包含来自该字符数组参数的一个子数组的字符。String(int[] codePoints, int offset, int count) 分配一个新的String,它包含该Unicode 代码点数组参数的一个子数组的字符。 String(String original) 初始化一个新创建的String 对象,表示一个与该参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。 String(StringBuffer buffer) 分配一个新的字符串,它包含当前包含在字符串缓冲区参数中的字符序列。String(StringBuilder builder) 分配一个新的字符串,它包含当前包含在字符串生成器参数中的字符序列 方法总结: char charAt(int index) 返回指定索引处的char 值。 int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。 int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代码点)。 int codePointCount(int beginIndex, int endIndex) 返回此String 的指定文本范围中的Unicode 代码点数。 int compareT o(String anotherString) 按字典顺序比较两个字符串(区分大小写)。 int compareT oIgnoreCase(String str) 不考虑大小写,按字典顺序比较两个字符串。 String concat(String str) 将指定字符串联到此字符串的结尾。 boolean contains(CharSequence s) 当且仅当此字符串包含char 值的指定序列时,才返回true。 boolean contentEquals(CharSequence cs) 当且仅当此String 表示与指定序列相同的char 值时,才返回true。

相关文档