
popen・pcloseについて
以下のようにpopenを使ってdirコマンドを打った時と同じようなプログラムを
Microsoft Visual C++ 2008上で作ったのですが
#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;
}
これをビルドした所、以下のようなエラーが出てしまいました。
c:\users\yamaomoto\documents\visual studio 2008\projects\popen\popen\popen.c(8) : warning C4013: 関数 'popen' は定義されていません。int 型の値を返す外部関数と見なします。
c:\users\yamaomoto\documents\visual studio 2008\projects\popen\popen\popen.c(8) : warning C4047: '=' : 間接参照のレベルが 'FILE *' と 'int' で異なっています。
c:\users\yamaomoto\documents\visual studio 2008\projects\popen\popen\popen.c(14) : warning C4013: 関数 'pclose' は定義されていません。int 型の値を返す外部関数と見なします。
popen.obj : error LNK2019: 未解決の外部シンボル _pclose が関数 _main で参照されました。
popen.obj : error LNK2019: 未解決の外部シンボル _popen が関数 _main で参照されました。
C:\Users\Yamaomoto\Documents\Visual Studio 2008\Projects\popen\Debug\popen.exe : fatal error LNK1120: 外部参照 2 が未解決です。
色々と試してみたのですが解決に至りませんでしたのでよろしければ、
教えて頂けませんでしょうか?
No.1ベストアンサー
- 回答日時:
VC++の場合は関数名を
_popen
_pclose
というように前に「_」を付ければ使えます。
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++で関数名の違いが載っているサイトとかご存知でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
未解決の外部シンボル
-
外部依存関係について
-
IP Helper APIを使うとエラーが...
-
C++STLについての質問です。
-
LNK2019: 外部シンボル どのよ...
-
vs2010 mfc拡張DLL LNK2019
-
パブリックシンボルとは?
-
エラー 未解決の外部シンボル
-
プロセスIDの取得の方法。
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
” OS ビルド ” の意味が分か...
-
#pragma commentの相対パス指定
-
fortranでプログラムを実行する...
-
VBAを何回も作り直して、容量が...
-
適切な変換関数が存在しない???
-
2G以上のファイル操作
-
Excelのエラーで困ってます。
-
デバッグとビルドは何が違うの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボル" ~~"は未解決で...
-
未解決の外部シンボル
-
LNK2019: 外部シンボル どのよ...
-
C++/CLIでfstream(.NET 3.5)
-
C言語のエラー LNK1120: 外部参照
-
パブリックシンボルとは?
-
popen・pcloseについて
-
プロセスIDの取得の方法。
-
LNK2019: 未解決の外部シンボル...
-
このプログラムを動かしたいの...
-
コンパイルエラー
-
外部シンボルの未解決のエラー
-
C++のエラーの内容について
-
VC++/MFCで error LNK2001
-
PathIsDirectoryを使って
-
open dynamics engine の導入
-
ビルドエラー
-
C言語ソースのオラクルコンパイ...
-
外部シンボル未解決 LNK2001
おすすめ情報