У меня есть данные, поступающие из буфера из сценария, который я запускаю с помощью popen(), и мне нужно выполнить сравнение строк (я понимаю, что strcmp является лучшим) до написания в файл.C++ pattern matching popen() output with strcmp()
Это то, что у меня до сих пор
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
char key[] = "Order ID:";
char buff[BUFSIZ];
FILE *fp = popen("scriptfile.sh", "r");
while (fgets(buff, BUFSIZ, fp)){
if (!strcmp (key, buff)){
std::cout << "Match";
}else{
printf("LS->%s", buff);
std::cout << "Good Bye Cruel World!";
}
}
pclose(fp);
}
Нет ошибки, здесь bpaste свалка бегущих данных. см. последнюю строку для «Идентификатор заказа»
Вы действительно хотите совместить полную строку чтения (включая новую строку!) С этим ключом, который выглядит только как первая часть строки? – Deduplicator
Я думаю, что я ошибался и на \ n. –