Всем привет! У меня есть переменная
char BUF[512]
в которой хранится вывод из консоли от команды "lspci", КОД:
FILE *INFO_PC;
char BUF[512];
INFO_PC = popen("lspci", "r");
if (!INFO_PC) {
cout << "ERROR!" << endl;
}
else {
while(fgets(BUF, sizeof(BUF), INFO_PC)){
puts(BUF);
}
}
Мне нужно эту переменную
BUF
записать в текстовый файл. Но когда я пишу:
FILE *INFO_PC;
char BUF[512];
INFO_PC = popen("lspci", "r");
if (!INFO_PC) {
cout << "ERROR!" << endl;
}
else {
while(fgets(BUF, sizeof(BUF), INFO_PC)){
puts(BUF);
}
}
FILE *FILE_INFO_PC = fopen("desktop.cfg", "w");
if (FILE_INFO_PC) {
bool write = fputs(BUF, FILE_INFO_PC);
if (write) {
cout << "Yes!" << endl;
}
else {
cout << "ERROR!" << endl;
}
}
else {
cout << "ERROR!" << endl;
}
fclose(FILE_INFO_PC);
То после выполнения в файл записывается только первая строка, а именно -
03:00.0 3D controller: NVIDIA Corporation GK107M [GeForce 810M] (rev a1)
Сам же вывод содержится из 5 строк, но записывается только одна. Как правильно написать?