У меня странная проблема с выводом данных. Я использую printf, чтобы напечатать строку char *, а затем распечатать еще одну. Однако часть первой строки не печатается, и когда я печатаю вторую строку, пропущенная часть первой добавляется к этой. Что здесь происходит?
Я пишу простую имплиментацию libpcap. Вот пример функции обратного вызова, которая даст те же результаты. Я попытался удалить буферизацию и добавить путчар ('\ n') после печати, но это не помогло.
void ParseData(u_char* useless, const struct pcap_pkthdr* pkthdr, const u_char* packet){
int packetLen, i;
packetLen = pkthdr->len;
for (i = 0; i < packetLen; i++){
putchar(packet[i]);
}
}