在 C 語言中,字符串是以 null 終止字符(\0)作為結(jié)束符的,如果缺少終止字符,會(huì)導(dǎo)致字符串操作函數(shù)無法正確處理字符串。解決方法可以有以下幾種:
char str[10] = "Hello"; // 缺少終止字符
str[5] = '\0'; // 手動(dòng)添加終止字符
char str[] = "Hello"; // 使用字符串初始化,編譯器會(huì)自動(dòng)添加終止字符
#include <string.h>
#include <stdlib.h>
char str[10] = "Hello"; // 缺少終止字符
// 使用 strncpy 函數(shù)將缺少終止字符的部分復(fù)制到另一個(gè)字符串中
char newStr[10];
strncpy(newStr, str, sizeof(newStr)-1); // 復(fù)制時(shí)限制大小,避免越界
newStr[sizeof(newStr)-1] = '\0'; // 手動(dòng)添加終止字符
無論使用哪種方法,都需要確保字符串的長度不超過數(shù)組的長度,以避免緩沖區(qū)溢出。