标签:
Function: int ispunct( int c);
头文件:cctype
返回值:c是标点,返回非零值;否则,返回0.
计算一个字符串中的标点数目:
#include <stdio.h> #include <ctype.h> int main () { int i=0; int cx=0; char str[]="Hello, welcome!"; while (str[i]) { if (ispunct(str[i])) cx++; i++; } printf ("Sentence contains %d punctuation characters.\n", cx); return 0; }
C++中,将一个string类型对象变成全部小写,一个简单点的方法:
1 #include<algorithm> 2 #include<string> 3 4 //1、终归都要迭代.. 5 std::string s("something"); 6 std::transform(s.begin(), s.end(), s, ::tolower); 7 8 //2、另一种方法 9 char easytolower(char in) 10 { 11 if(in>=‘A‘&&in<=‘Z‘) 12 return in-(‘Z‘-‘z‘); 13 return in; 14 } 15 16 //为什么写第二种方法,因为我还不知道为什么 tolower()有时候不听话,我又调试不过来 17 //而且,我想多多使用到泛型算法 18 std::transform(s.begin(), s.end(), s,easytolower);
1 #include <iostream> // std::cout 2 #include <string> // std::string 3 #include <locale> // std::locale, std::tolower 4 5 //locale库的使用 6 7 int main () 8 { 9 std::locale loc; 10 std::string str="Test String.\n"; 11 12 for(auto elem : str) 13 std::cout << std::tolower(elem,loc); 14 }
1 #include <boost/algorithm/string.hpp> 2 3 std::string str = "HELLO, WORLD!"; 4 boost::algorithm::to_lower(str);
有时候还会有编码问题,是ASCII还是UTFT。。
以下:
http://stackoverflow.com/questions/313970/how-to-convert-stdstring-to-lower-case
标签:
原文地址:http://www.cnblogs.com/ymwhat/p/5343510.html