举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > c字符串函数有哪些 C 字符串函数

c字符串函数有哪些 C 字符串函数

2023-05-01 14:31 C语言教程

c字符串函数有哪些 C 字符串函数

c字符串函数有哪些 C 字符串函数

c字符串函数有哪些

学习C - C字符串函数

检查字符串数据长度

您可以使用string.h头中的strlen()函数来获取字符串数据的长度。


  #include <stdio.h> 
  #include <string.h> 

  void string_length(); 

  int main(int argc, const char* argv[]) { 

      string_length(); 

      return 0; 
  } 

  void string_length(){ 
      char str[20] = "Hello world"; 

      printf("str: %sn",str); 
      printf("length: %dn",(int)strlen(str)); 

  } 

上面的代码生成以下结果。


索引字符

你可以通过位置索引得到一个字符。string_var [index]语法提供了这个功能。

注意0是第一个索引。


  #include <stdio.h> 
  #include <string.h> 

  void string_explore(); 

  int main(int argc, const char* argv[]) { 

      string_explore(); 

      return 0; 
  } 

  void string_explore(){ 
      char str[15] = "Hello world"; 
      int index; 

      for(index=0; index<strlen(str); index++){ 
          printf("%cn",str[index]); 
      } 

  } 

上面的代码生成以下结果。


连接字符串

我们可以将字符串连接成一个字符串。

我们可以从string.h头中使用strcat()函数。


  #include <stdio.h> 
  #include <string.h> 

  void concatenating(); 

  int main(int argc, const char* argv[]) { 

      concatenating(); 

      return 0; 
  } 

  void concatenating(){ 
      printf("====concatenating===n"); 

      char str1[30] = "hello"; 
      char str2[10] = "wolrd"; 

      strcat(str1,str2); 
      printf("result: %sn",str1); 

  } 

上面的代码生成以下结果。

字符串转换为数字

字符串类型转换为数字,您可以使用sscanf()函数将String转换为数字。


  #include <stdio.h> 
  #include <string.h> 

  void string_to_numeric(); 

  int main(int argc, const char* argv[]) { 
       
      string_to_numeric(); 

      return 0; 
  } 

  void string_to_numeric(){ 
      printf("====string_to_numeric===n"); 
      char str1[10] = "10"; 
      char str2[10] = "28.74"; 

      int num1; 
      float num2; 

      sscanf(str1,"%d",&num1); 
      sscanf(str2,"%f",&num2); 

      printf("num1: %dn",num1); 
      printf("num2: %fn",num2); 

  } 

上面的代码生成以下结果。

数字转换为字符串

要将数字转换为字符串类型,请使用sprintf()函数。

您可以自动获取String类型。


  #include <stdio.h> 
  #include <string.h> 

  void numeric_to_string(); 

  int main(int argc, const char* argv[]) { 

      numeric_to_string(); 
           
      return 0; 
  } 

  void numeric_to_string(){ 
      int n = 10; 
      float m = 23.78; 

      char num1[10]; 
      char num2[10]; 

      sprintf(num1,"%d",n); 
      sprintf(num2,"% .2f",m); 

      printf("num1: %sn",num1); 
      printf("num2: %sn",num2); 

  } 

上面的代码生成以下结果。

字符串解析器令牌

解析String的简单解决方案使用具有delimiter参数的strtok()函数。

例如,你有String数据;分隔符,并希望解析它。


  #include <stdio.h> 
  #include <string.h> 

  void string_parser(); 

  int main(int argc, const char* argv[]) { 

      string_parser(); 

      return 0; 
  } 

  void string_parser(){ 
      char cities[40] = "Tokyo;Berlin;London;New York"; 
      char token[2]=";"; 
      char* city; 

      printf("cities: %sn",cities); 

      city = strtok(cities, token); 
      while(city  != NULL){ 
          printf("%sn", city ); 
          city = strtok(NULL, token); 
      } 

  } 

上面的代码生成以下结果。

复制字符串数据

您可以从String数据中复制一些字符。

使用strcpy()和strncpy()函数。


  #include <stdio.h> 
  #include <string.h> 

  void string_copy(); 

  int main(int argc, const char* argv[]) { 

      string_copy(); 

      return 0; 
  } 

  void string_copy(){ 
      char str[15] = "Hello world"; 
      char new_str[20]; 

      strcpy(new_str,str); 
      printf("str: %sn",str); 
      printf("new_str: %sn",new_str); 

      memset(new_str,  "0", sizeof(new_str)); 
      strncpy(new_str,str,5); 
      printf("strncpy-new_str: %sn",new_str); 

  } 

上面的代码生成以下结果。

将字符串转换为数字

C标准库stdlib.h提供了一些函数,用于将字符串转换为数字。

atof - 将字符串转换为浮点数。

atoi - 将字符串转换为整数。

这两个函数都在下一个程序中演示。


#include <stdio.h> 
#include <stdlib.h> 
main()  
{ 
   char *str1 = "123.79"; 
   char *str2 = "55"; 
   float x; 
   int y; 
   printf("nString 1 is "%s"n", str1); 
   printf("String 2 is "%s"n", str2); 
   x = atof(str1); 
   y = atoi(str2); 
   printf("nString 1 converted to a float is %.2fn", x); 
   printf("String 2 converted to an integer is %dn", y); 
}  //end main  

上面的代码生成以下结果。

strcmp()

strcmp()函数比较两个字符串的相等性。


#include <stdio.h> 
#include <string.h> 
main() 
{ 
   char *str1 = "A"; 
   char *str2 = "A"; 
   char *str3 = "!"; 
   printf("nstr1 = %sn", str1); 
   printf("nstr2 = %sn", str2); 
   printf("nstr3 = %sn", str3); 

   printf("nstrcmp(str1, str2) = %dn", strcmp(str1, str2)); 
   printf("nstrcmp(str1, str3) = %dn", strcmp(str1, str3)); 
   printf("nstrcmp(str3, str1) = %dn", strcmp(str3, str1)); 
   if ( strcmp(str1, str2) == 0 ) 
      printf("nLetter A is equal to letter An"); 
   if ( strcmp(str1, str3) > 0 ) 
      printf("Letter A is greater than character !n"); 
   if ( strcmp(str3, str1) < 0 ) 
      printf("Character ! is less than letter An"); 
}  // end main 

strcmp()函数使用两个字符串作为参数,并使用相应的字符代码进行比较。

比较两个字符串后,strcmp()函数返回一个单一的数值,它指示第一个字符串是否等于,小于或大于第二个字符串。

下表更详细地描述了strcmp()函数的返回值。

示例函数返回值描述
strcmp(string1,string2)0string1等于string2
strcmp(string1,string2)<0string1小于string2
strcmp(string1,string2)>0string1大于string2

上面的代码生成以下结果。

阅读全文
以上是鳄鱼CMS为你收集整理的c字符串函数有哪些 C 字符串函数全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们