我有一個FILE指針,其中包含來自popen()的輸入。我想把所有的輸入都放到char * str中,但是我不知道如何去做(C編程的新手)。從popen()讀取輸入到char *中C
void save_cmd(int fd) {
char buf[100];
char *str;
FILE *ls;
if (NULL == (ls = popen("ls", "r"))) {
perror("popen");
exit(EXIT_FAILURE);
}
while (fgets(buf, sizeof(buf), ls) != NULL) {
//Don't know what to do here....
}
pclose(ls);
}
我想我無論如何都必須while循環中串聯,但是這怎麼可能當我不知道事先的總大小(我想保存整個結果的char *海峽)。如果任何人有關於如何做到這一點的索引指針,我將非常感激。
一件事你可以這樣操作:用realloc函數,然後你的新的字符串拷貝到 – 2014-11-14 14:57:03