UNIX関数?(popen)について
Cプログラムでpopen関数?を使用しコマンド(rcp)を実行するプログ
ラムを造ったのですが、当分が動作していたのですが、何のタイミングか分からないのですが、失敗する時が有ります。一度失敗するとそれ以降はずーと失敗します
。どのような原因が考えられるのでしょうか?
ちなみにプログラムの一部をとりあえずのせておきます。(ファイル名及び相手先
のディレクトリ名は現状存在します)
又、system関数とpopen関数の大きな違いは何でしょうか?
ご教示お願い致します。
(cプログラムの一部)
char buff[256] ;
char cmnd[256] ; /* コマンド文字列 */
int fp_rtc ;
memset( buff, NULL, sizeof(buff) ) ;
memset( cmnd, NULL, sizeof(cmnd) ) ;
strcpy( buff, argv[1] ) ;
sprintf(cmnd, RCP_FMT , buff, RCP_DIR, buff ) ;
printf( "rcp cmnd ( %s )\n", cmnd ) ;
fp = popen(cmnd, "r") ;
fflush(stdout) ;
fp_rtc = pclose(fp) ;
if ( fp_rtc != 0 ){
printf( "pclose err [ rtc:%d ] \n", fp_rtc ) ;
}