• ベストアンサー

C言語

*.cファイルを検索するんですがmain.cのファイルだけを検索しないようにするにはどう付け加えればいいでしょうか? void DoFind() { HANDLE hFind; WIN32_FIND_DATA fd; FILETIME ft; SYSTEMTIME st; /* 最初のファイル検索 */ hFind = FindFirstFile("*.c", &fd); /* 検索失敗? */ if(hFind == INVALID_HANDLE_VALUE) { printf("検索失敗\n"); return; /******** エラー終了 ********/ } do { /* 結果の表示 */ printf("ファイル名: %s", fd.cFileName); } while(FindNextFile(hFind, &fd)); '次のファイルを検索 /* 検索終了 */ FindClose(hFind); }

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

  • ベストアンサー
  • Sins
  • ベストアンサー率39% (16/41)
回答No.2

#1さん 最近コーディングしていないのではっきり覚えていないのですが strcmp だったと思います。 あと大小判定となるので do { if (strcnp(fd.cFileName, "main.c") != 0) { /* 結果の表示 */ printf("ファイル名: %s", fd.cFileName); } } while(FindNextFile(hFind, &fd)); '次のファイルを検索 だと思います。 この場合、main.c のファイル名に大文字が混じった MAIN.C やMain.c等は表示されます。

その他の回答 (2)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

WindowsAPIを使ってるんでしたら lstrcmpiを使用してチェックしましょう。 これは大文字、小文字を区別しません。

  • mappy88
  • ベストアンサー率20% (15/75)
回答No.1

do { if (strconv(fd.cFileName, "main.c") == false) { /* 結果の表示 */ printf("ファイル名: %s", fd.cFileName); } } while(FindNextFile(hFind, &fd)); '次のファイルを検索 strconv・・・でよかったかな?(^^;

関連するQ&A

専門家に質問してみよう