- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:popen・pcloseについて)
popenの使用に関するエラー
このQ&Aのポイント
- Microsoft Visual C++ 2008上でpopenを使用してdirコマンドと同じプログラムを作成しようとした際にエラーが発生しました。
- ビルド時に関数 'popen' と 'pclose' の未解決外部シンボルエラーが発生しました。
- 解決策を見つけることができず、質問を投げることにしました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VC++の場合は関数名を _popen _pclose というように前に「_」を付ければ使えます。
その他の回答 (1)
- Fllisy
- ベストアンサー率27% (15/54)
回答No.2
popenとかは本来UNIX系OS専用関数ですが、それは大丈夫ですか? Windowsでやる場合には関数の前に_を付ける必要があります。 #include <stdio.h> int main(void) { FILE *fp; char buff[64]; fp=_popen("dir","r"); while(fgets(buff,sizeof(buff),fp)!=NULL){ printf("%s",buff); } _pclose(fp); return 0; } 多分コレで通るかと。
質問者
補足
>>popenとかは本来UNIX系OS専用関数ですが、それは大丈夫ですか? 全く大丈夫じゃありませんでした。 関数名は完全にUNIXでもVC++でも同じだと思っていました… まだ、VC++始めて浅くてその辺りの理解が足りてませんでした。 そのあたり、UNIXとVC++で関数名の違いが載っているサイトとかご存知でしょうか?
補足
ありがとうございました。ビルド出来ました。