オリジナル:https://blog.csdn.net/selina8921/article/details/79176297
一般的に言って、文字列を格納するために文字配列を使用することに慣れています。
char str_array [LEN];
または、文字列を格納するためのメモリの一部をmallocします
char * str_ptr =(char *)malloc(LEN * sizeof(char));
配列または文字ポインタを定義した後、初期化を行う必要があります。そうしないと、ランダムな値になり、変更された文字列が将来空であるかどうかを判断できなくなります。
したがって、まず、文字列が空に初期化されていることを確認してください
memset(str_ptr、 '\ 0'、sizeof(LEN * sizeof(char)));
初期化された文字列については、strlenを使用して空かどうかを判断できます。
strlen()は、文字列の0番目の文字からカウントを開始し、文字\ 0に遭遇すると停止し、文字列の長さを取得します。長さが0の場合、文字列は空です。
定数文字列に関係なくconstchar * hi_str = "Hi str";
または文字列変数の場合char * str;
私たちは皆使うことができます
if(str!= NULL){
if (strlen(str) == 0) {
// it is empty string
}
}
判断する。
クラッシュを引き起こす可能性があるため、if(str [0] == '\ 0')を使用して判断することは避けてください。
注:
文字列ポインタの場合は、最初にポインタが空かどうかを判断してください。空でない場合、セグメンテーション違反が発生しやすくなります。
良い習慣を身につけ、変数を定義した後、最初に変数を初期化します