C/C++ 字符串比较好用的几个函数
在我们处理各类编程问题时,常常会用到字符串,使用c/c++中自带的函数或方法往往能让我们更有效的处理字符串相关问题。
string
string是c++中的一个类,在使用时需要包含头文件<string>相比较于c语言,string类用来处理字符串会方便许多,完全可以代替c语言中的字符数组或字符串指针。
-
getline
正常输入的c++流输入字符串时遇到空格、制表符或换行符会停止读取。而getline则不会遇到此问题,此函数可以读取整行字符串。string s; cin >> s; cout << s;
若输入为"hello world!",只有"hello"被存储在s中,输出时只会输出"hello"。
string s; getline(cin,s); //getline函数有两个参数,cin表示输入流,s表示所要输入的string变量名 cout << s;
此时输入"hello world!",则会输出"hello world!",包括空格都被存储在s中。
string s; getline(cin,s,'0'); //getline中的第三个参数,功能为设置结束字符。 cout << s;
传入第三个参数’0’,此时若输入"12340567",则会输出"1234"。
c语言标准函数库头文件 <ctype.h>
这个头文件定义了完整的检测字符的函数,用来判断你的字符是否属于某一种类。
函数返回值均为int型,是返回1,否返回0。
- isdigit
判断单个字符是否为数字char c='1'; if(isdigit(c)) printf("YES");
- isalpha
判断单个字符是否为字母char c='a'; if(isalpha(c)) printf("YES");
- isalnum
判断单个字符是否为字母或数字char c1='a'; char c2='1'; if(isalnum(c1)) printf("YES"); if(isalnum(c2)) printf("YES");
- islower
判断单个字符是否为小写字母char c='a'; if(islower(c)) printf("YES");
- isupper
判断单个字符是否为大写字母char c='A'; if(isupper(c)) printf("YES");
- tolower
将单个字母字符转化为对应的小写字符char c='A'; printf("%c",tolower(c)); //输出 A
- toupper
将单个字母字符转化为对应的大写字符char c='a'; printf("%c",toupper(c)); //输出 a
以上是此头文件下较为常用的函数,还有部分不常用函数没有列举,可以百度查询使用。