C语言字符串操作详解

本篇文章将详细讲解C语言中关于字符串的几个常见操作,帮助你更好地理解和使用字符串。

1. 使用strcmp比较字符串

代码片段 if(!strcmp((const char *)&v38, "YZJM")) 的作用是判断字符串 v38 是否等于 "YZJM"。

  • strcmp 函数用于比较两个字符串,如果两个字符串相等则返回0。
  • ! 是逻辑非操作符,表示取反。

因此,该代码的意思是:如果 v38 与 "YZJM" 不相等,则条件成立。

2. 初始化字符串变量

在 C 语言中,初始化字符串变量有多种方法:

  1. 直接赋值:

    char v38[] = "Hello"; 
    
  2. 使用strcpy函数:

    char v38[10]; 
    strcpy(v38, "Hello"); 
    
  3. 逐个字符赋值:

    char v38[10]; 
    v38[0] = 'H'; 
    v38[1] = 'e'; 
    v38[2] = 'l'; 
    v38[3] = 'l'; 
    v38[4] = 'o'; 
    v38[5] = '\0'; 
    

3. 从二进制文件读取字符串

以下代码演示如何从二进制文件中读取前五个字节作为字符串输出,并输出每个字节的 ASCII 码:

FILE *file = fopen("filename.bin", "rb"); // 打开二进制文件
char str[6]; // 用于存储读取的字符串(包括结束符)
fread(str, sizeof(char), 5, file); // 从文件中读取五个字节
str[5] = '\0'; // 添加字符串结束符
printf("%s\n", str); // 输出字符串
for (int i = 0; i < 5; i++) {
    printf("%d ", (int)str[i]); // 输出前五个字节的ASCII码
}
fclose(file); // 关闭文件

4. 字符串结束符

字符串结束符的 ASCII 码是 0,即 '\0' 的 ASCII 码为 0。在 C 语言中,字符串以空字符 ('\0') 作为结束符,表示字符串的结束位置。

C语言字符串操作:比较、初始化、读取和结束符

原文地址: http://www.cveoy.top/t/topic/fmK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录