• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で文字列の比較をしたいです。)

C言語で文字列の比較をしたいです

このQ&Aのポイント
  • C言語で文字列の比較をする方法について教えてください。
  • Visual C++ 2008 Express Editionを使用してWindowsプログラミングの勉強をしていますが、文字列の比較がうまくいかず困っています。
  • コードの中でUnicodeやTCHAR周りの問題が起きていると思われますが、正しく動作するようにするにはどうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • titokani
  • ベストアンサー率19% (341/1726)
回答No.2

私のVC2008で、単純に #include <windows.h> #include <windowsx.h> #include <stdio.h> #include <stdlib.h> #include <tchar.h> #include <string.h> static TCHAR chords[512]; int _tmain(int argc, _TCHAR* argv[]) { if(_tcscmp(chords, TEXT("abc")) == 0){ printf("match!\n"); } return 0; } と書いてみましたが、エラーにはなりませんでしたよ。 提示のコードは、本当にソース通りなのでしょうか? あるいは、chordsが他にもあって、別の型になっているとか。 たとえば、こんなコードの場合だと、 void func(TCHAR *chords[]) { _tcscmp(chords, TEXT("abc")); } --- error C2664: 'wcscmp' : 1 番目の引数を 'TCHAR *[]' から 'const wchar_t *' に変換できません。 --- というエラーになりましたが。

django13
質問者

補足

見たところchordsが別にある様子ではないのですが、 「wcscmp(chords, TEXT("abc")) == 0」としてみると、上手くいくのでchordが別の型になっている気がします。 ちなみに構成プロパティは「Unicode文字セットを使用する」にしています。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

多少は参考になるでしょう。 ここも http://msdn.microsoft.com/ja-jp/library/e0z9k731(VS.80).aspx

参考URL:
http://www.usefullcode.net/2006/11/tcharlpctstrlptstr.html

関連するQ&A