C标准库注意点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C标准库注意点相关的知识,希望对你有一定的参考价值。

isqunct

 

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标准库注意点的主要内容,如果未能解决你的问题,请参考以下文章

6-3——c语言语法标准数据类型变量常数几个注意点

C语言注意点汇总

《安富莱嵌入式周报》第279期:强劲的代码片段搜索工具,卡内基梅隆大学安全可靠C编码标准,Nordic发布双频WiFi6 nRF7002芯片

求C语言标准函数库的源代码

C 标准库基础 IO 操作总结

C 标准库函数名称中的“f”代表啥?