Original: https://blog.csdn.net/selina8921/article/details/79176297
En términos generales, estamos acostumbrados a usar una matriz de caracteres para almacenar una cadena.
char str_array [LEN];
O malloc un pedazo de memoria para almacenar una cadena
char * str_ptr = (char *) malloc (LEN * sizeof (char));
Después de definir la matriz o el puntero de carácter, debe realizar una inicialización; de lo contrario, será un valor aleatorio y no podrá determinar si la cadena modificada está vacía en el futuro.
Entonces, en primer lugar, asegúrese de que la cadena se inicialice en vacío
memset (str_ptr, '\ 0', sizeof (LEN * sizeof (char)));
Para una cadena que se ha inicializado, podemos usar strlen para determinar si está vacía.
strlen () comienza a contar desde el carácter 0 de la cadena y se detiene cuando encuentra el carácter \ 0 y obtiene la longitud de la cadena. Si la longitud es 0, la cadena está vacía.
Independientemente de la cadena constante const char * hi_str = "Hi str";
O para las variables de cadena char * str;
Todos podemos usar
if (str! = NULL) {
if (strlen(str) == 0) {
// it is empty string
}
}
Juzgar.
Evite usar if (str [0] == '\ 0') para juzgar, porque puede causar un bloqueo.
Nota:
Si se trata de un puntero de cadena, primero determine si el puntero está vacío, de lo contrario, es fácil provocar una falla de segmentación.
Desarrolle un buen hábito y primero inicialice la variable después de definirla