Merakam Output Sistem dengan popen
Soalan:
Bagaimana untuk menangkap real- output masa bagi perintah sistem yang digunakan menggunakan system(), seperti system("ls"), untuk pemprosesan selanjutnya dalam C/C ?
Jawapan:
Fungsi popen menyediakan kaedah yang cekap untuk menangkap output daripada arahan sistem. Sintaksnya ialah:
#include <stdio.h> FILE *popen(const char *command, const char *type); int pclose(FILE *stream);
Proses:
FILE *stream = popen(command, "r");
char buffer[1024]; while (fgets(buffer, sizeof(buffer), stream) != NULL) { // Process each line of output }
pclose(stream);
Contoh:
#include <stdio.h> int main() { FILE *stream = popen("ls", "r"); if (stream != NULL) { char buffer[1024]; while (fgets(buffer, sizeof(buffer), stream) != NULL) { printf("%s", buffer); } pclose(stream); } return 0; }
Atas ialah kandungan terperinci Bagaimana untuk Menangkap Output Perintah Sistem Masa Nyata dalam C/C menggunakan `popen`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!