Я пытаюсь найти строку в данном файле (на самом деле файл является tar-файлом (обратите внимание здесь), и я открыл файл в блокноте ++ и сделал случайным образом строка из этого открытого файла), и я сохранил этот полный файл tar в буфере, и теперь я хочу найти позицию строки, которую я скопировал, используя функцию strstr в сохраненном буфере.strstr не удалось выполнить поиск строки внутри данных в восьмеричном формате
код, чтобы сделать это (что совершенно правильно) -
char *compare= "_.png"; //suppose this is the copied string
//which is to be find out in buffer using strstr
char * StartPosition;
StartPosition = strstr (buffer,compare);
__int64 count=0;
MessageBox(m_hwndPreview,L"before the while loop",L"BTN WND6",MB_ICONINFORMATION);
while (StartPosition!=NULL)
{
MessageBox(m_hwndPreview,L"hurr inside the while loop",L"BTN WND6",MB_ICONINFORMATION);
MessageBoxA(m_hwndPreview,strerror(errno),"BTN WND4", MB_ICONINFORMATION);
count=StartPosition-buffer+1;
return 0;
}
и предположим, если у меня есть содержание смолы файл в Блокноте, как, как показано ниже, откуда я скопировал эту строку, хранящуюся в compare-
3_VehicleWithKinematicsAndAerodynamics_.000.png IHDR (here is some strange data which can't be copied and also there are lot of NULL but we have to find out the position of "_.png" so not so difficult in this case).
вопрос мой код работает отлично, пока я не хранить данные до .png, то я могу найти свою позицию, используя strstr проблемы, когда я пытаюсь выяснить строку постион, которая появляется после
-`3_VehicleWithKinematicsAndAerodynamics_.000.png IHDR ...suppose here we have strange data (which is data block if we see the tar parser)...after this we have another file like..."3_VehicleWithKinematicsAndAerodynamics_.html"`
, и если я хочу, чтобы найти этот «3_VehicleWithKinematicsAndAerodynamics_.html», используя strstr тогда я не смог найти его из-за странные данные между ними. (Потому что я думаю, что эти данные не распознается компилятором и ИУ к тому, что я не в состоянии получить доступ к файлу, который находится после странных данных) сделать более ясным видеть местоположение файла в файле смола является следующим образом-
3_VehicleWithKinematicsAndAerodynamics_.000.png IHDR ............(its data blocl-which is strange contents if you open in tar file)....3_VehicleWithKinematicsAndAerodynamics_.000.html
я должен получить доступ к .html файла используя strstr. почему он не обращается к нему ?? есть идеи ?? *
ПОЖАЛУЙСТА ДАЙТЕ альтернативами ДОСТИЧЬ IT..I уверен, что я стараюсь не будет работать ..
Я уверен, что 'strstr' остановится при первом' '0 байте, который он встречает. – arne
Вы пытаетесь использовать строковые функции для необработанных двоичных данных - это, безусловно, не будет вести себя так, как вы хотите, чтобы это было –
У вас есть решение этой проблемы? любая другая альтернатива? – Sss