popen の出力用にメモリを動的に割り当てようとしていますが、ファイルの長さを見つけようとすると、「不正なシーク」エラーが発生します。コードは
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char cmd[40] = {0};
char * c;
int byteCount = 0;
FILE * pFp = NULL;
strncpy(cmd, "ls -l", sizeof(cmd));
pFp = popen(cmd, "r");
if (pFp == NULL)
printf ("file is null");
fseek(pFp, 0, SEEK_END);
byteCount = ftell(pFp);
perror("seek ");
fclose(pFp);
}
fgets は正常に動作しますが、popen で fseek を使用する際に制約はありますか? 前もって感謝します。