日々プログラミング言語の勉強をしている京四郎のブログ -18ページ目

日々プログラミング言語の勉強をしている京四郎のブログ

日々プログラムの勉強をしている人がプログラム関係の記事を書くブログ

#include <stdio.h>

int main (){

    FILE *fp=NULL;
    char *cmdline="cd C:\\2014 & dir";

    fp=_popen(cmdline,"w");

    if(NULL == fp)
    {
     //_pclose(fp);←ここにpcloseを書くとダメ、書くとバグ扱いになる
     printf("file open error ! \n");
     return 1;
    }

    _pclose(fp);

    return 0;
}


オレンジ環境

OS:windows7 32bit (自作機)
コンパイラ:Borland C++ 5.5.1 for Win32


コーヒー解説

_popenでdirコマンドを実行するサンプルである。
_popenと_pcloseなのは、popenとpcloseではエラーが出るからである。

Error: 外部シンボル '_popen' が未解決(C:\2014\0601\003.OBJ が参照)
Error: 外部シンボル '_pclose' が未解決(C:\2014\0601\003.OBJ が参照)


お酒コンパイルと実行結果

上記ソースをC:\2014\0601\003.cとしてコンパイルして実行する。

C:\2014\0601>bcc32 003.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
003.c:
警告 W8004 003.c 13: 'fp' に代入した値は使われていない(関数 main )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

C:\2014\0601>003.exe
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXXXXXXXXXXXXXX です

C:\2014 のディレクトリ

2014/06/01 12:39 <DIR> .
2014/06/01 12:39 <DIR> ..
2014/05/15 22:29 <DIR> 0425
2014/05/14 07:09 <DIR> 0514
2014/05/16 07:22 <DIR> 0515
2014/06/01 16:00 <DIR> 0601
2014/05/14 07:09 <DIR> java
0 個のファイル 0 バイト
7 個のディレクトリ 20,048,269,312 バイトの空き領域

C:\2014\0601>



お月様Qiitaに投稿した

【C言語】_popenでdirコマンドを実行する win7 32bit

http://qiita.com/kyoshiro-obj/items/b406f54d82786c2b190a



みずがめ座参考文献

C言語 popen()でコマンドの入力に書き込む
http://kaworu.jpn.org/kaworu/2008-05-04-1.php