dポイントプレゼントキャンペーン実施中!

度々お世話になります。

C++で""(空文字)かどうかを判別する方法はありますか?
私は単純にstrcmpで文字列比較をすればいいと思っていたのですが、
TLSを使用しているためか、なぜかうまくいきません。

// 変数宣言&取得(Setは省略)
__declspec( thread ) char tls_Name [12] = "";

const char * TlsGetName( void )
{
return tls_Name;
}

// 取得&判別(スレッド内処理)
if (strcmp(TlsGetName(),"") == 0)
処理A
else
処理B

このとき、初回実行時は処理Aに行ってくれるのですが
2回目の実行以降はtls_Nameが""であるにもかかわらず
処理Bに行ってしまいます。

どこかおかしな所やもっといい方法がありましたら教えてください。

A 回答 (1件)

strlen()で長さが0であれば、空の文字列


もしくは
if( tls_Name[0]=='\0' ) {
文字列が空の時の処理
}
    • good
    • 2
この回答へのお礼

早速のご回答ありがとうございます。

strlenの方法でうまくいきました!

<-- 2006/12/08 13:08 -->

お礼日時:2006/12/08 13:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています