C语言字符串操作:比较、初始化、读取和结束符
C语言字符串操作详解
本篇文章将详细讲解C语言中关于字符串的几个常见操作,帮助你更好地理解和使用字符串。
1. 使用strcmp比较字符串
代码片段 if(!strcmp((const char *)&v38, "YZJM")) 的作用是判断字符串 v38 是否等于 "YZJM"。
strcmp函数用于比较两个字符串,如果两个字符串相等则返回0。!是逻辑非操作符,表示取反。
因此,该代码的意思是:如果 v38 与 "YZJM" 不相等,则条件成立。
2. 初始化字符串变量
在 C 语言中,初始化字符串变量有多种方法:
-
直接赋值:
char v38[] = "Hello"; -
使用strcpy函数:
char v38[10]; strcpy(v38, "Hello"); -
逐个字符赋值:
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') 作为结束符,表示字符串的结束位置。
原文地址: http://www.cveoy.top/t/topic/fmK 著作权归作者所有。请勿转载和采集!