我有一个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