C标准库注意点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C标准库注意点相关的知识,希望对你有一定的参考价值。
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
以上是关于C标准库注意点的主要内容,如果未能解决你的问题,请参考以下文章
《安富莱嵌入式周报》第279期:强劲的代码片段搜索工具,卡内基梅隆大学安全可靠C编码标准,Nordic发布双频WiFi6 nRF7002芯片