- ベストアンサー
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); }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#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)
WindowsAPIを使ってるんでしたら lstrcmpiを使用してチェックしましょう。 これは大文字、小文字を区別しません。
- mappy88
- ベストアンサー率20% (15/75)
do { if (strconv(fd.cFileName, "main.c") == false) { /* 結果の表示 */ printf("ファイル名: %s", fd.cFileName); } } while(FindNextFile(hFind, &fd)); '次のファイルを検索 strconv・・・でよかったかな?(^^;