0
私は"codesign -dvv"コマンドをpopenで実行しています。これは、子プロセス(codeign -dvvvvの子プロセス)へのバイリセクションパイプを開きます。パイプからの読み込みを試みると、コマンドの出力は0バイトとなります。以下はコードです:codesign -dvvvvを端末からcppプログラムに出力
\#define MAX_BUF_SIZE 1024
\#define MAX_HASH_SIZE 1024
snprintf(command, MAX_BUF_SIZE,"codesign -dvv %s", file);
hash = (char *) malloc(MAX_HASH_SIZE);
if (NULL == hash) {
return NULL;
}
if (!(hfile = popen(command, "r"))){
return NULL;
}
while (fgets(temp, MAX_BUF_SIZE, hfile)!=NULL);
printf("sign %lu %s \n",strlen(temp),temp);
strcpy(hash,temp);
pclose(hfile);
出力で私はcodesignコマンドの出力を見ることができますが、私のプログラムはそれを読むことができません。