я есть буферкак прочитать определенную строку из буфера
char buffer[size];
, который я использую для хранения содержимого файла из потока (предположим pStream здесь)
HRESULT hr = pStream->Read(buffer, size, &cbRead);
теперь у меня есть все содержимое этого потока в буфере, размер которого (предположим, размер здесь). Теперь я знаю, что у меня есть две строки
"<!doctortype html" and ".html>"
которые присутствуют где-то (мы не их loctions) внутри сохраненными содержимое этого буфера, и я хочу сохранить только содержимое буфера от места
"<!doctortype html" to another string ".html>"
в другой буфер2 [размерWeDontKnow] еще.
Как это сделать ??? (на самом деле содержимое из этих двух мест - это содержимое html-файла, и я хочу сохранить содержимое только html-файла, присутствующего в этом буфере). любые идеи, как это сделать?
действительно ли Visual C++ поддерживает функцию strnstr, если у вас есть какая-нибудь идея ??? и что такое nStartTagLength? поскольку i uderstand you nLength - это размер общего содержимого html и nPosStart = "", нам просто нужно, чтобы вы использовали nStartTagLength ??? – Sss
visual C++ не имеет strnstr, но если вы не уверены, что функция Read дает вам строку с нулевым завершением, вы можете сами положить в нее нуль терминала: 'char buffer [size + 1]; ZeroMemory (буфер, размер + 1); ' nPosStart и nPosEnd являются позициями начального тега" ". nStartTagLength - это длина «
Знаете ли вы, что эквивалентная функция для визуального C++? и вы думаете, что я могу его использовать, используя strtok() здесь? - в то время как (пч! = NULL) { пч = strtok (NULL, "doctortype HTML!" возврат 0; } может я получить позицию "doctortype HTML!" С помощью этого – Sss