gpt4 book ai didi

c - 如何使用 C (linux) 中的管道将 GCC 的输出保存在文件中?

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:22 25 4
gpt4 key购买 nike

在执行时,文件创建工作正常......但没有任何内容被写入其中......可以做什么......除了使用文件描述符之外还有其他方法吗......??

我尝试了以下代码:

    memset(buffer, '\0', sizeof(buffer));
read_fp = popen("gcc test1.c", "r");
//fp = fopen("/home/pranav/Desktop/b4.txt","w");
fd = open("beejoutput2.txt", O_CREAT | O_RDWR, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
if (read_fp != NULL)
{

chars_read = fread(buffer, sizeof(char), BUFSIZ, read_fp);
while (chars_read > 0)
{

/*writing to the file*/
while ((bytesread = read(3, buffer, chars_read)) > 0)
write(fd, buffer, bytesread);

buffer[chars_read-1] = '\0';
printf("Reading %d:-\n %s\n", BUFSIZ, buffer);
//fprintf(fp,"%d:-\n %s\n", BUFSIZ, buffer);
chars_read = fread(buffer, sizeof(char), BUFSIZ, read_fp);
}



pclose(read_fp);
exit(EXIT_SUCCESS);
}
//fclose(fp);
exit(EXIT_FAILURE);
return 0;
}

最佳答案

错误信息会出现在 stderr 上,所以改变这个

read_fp = popen("gcc test1.c", "r");

对此

read_fp = popen("gcc test1.c 2>&1", "r");

关于c - 如何使用 C (linux) 中的管道将 GCC 的输出保存在文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23396390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com