Biblioteki C/C++
parse_no_string_terminators
[stała] Nie umieszcza znaków zerowych w przetwarzanym tekście.Składnia
#include <rapidxml.hpp>
namespace rapidxml
{
const int parse_no_string_terminators = 0x4;
}
Dodatkowe informacje
Ta flaga może być łączona z innymi flagami za pomocą operatora
|
.
Przykład
#include <rapidxml_print.hpp>
#include <rapidxml.hpp>
#include <iostream>
#include <iterator>
#include <string>
void test( const char * bufData, const std::size_t & BUF_MAX_SIZE )
{
for( std::size_t i = 0; i < BUF_MAX_SIZE; i += 1 )
{
if( bufData[ i ] == '\0' ) std::cout << "\\0";
else std::cout << bufData[ i ];
}
}
int main()
{
char bufData[] = "<root>first<node>second</node></root>";
const std::size_t BUF_MAX_SIZE = sizeof( bufData ) / sizeof( * bufData );
rapidxml::xml_document <> doc;
doc.parse < rapidxml::parse_no_string_terminators >( bufData );
test( bufData, BUF_MAX_SIZE );
std::cout << '\n';
doc.parse < rapidxml::parse_default >( bufData );
test( bufData, BUF_MAX_SIZE );
}
Standardowe wyjście programu:
<root>first<node>second</node></root>\0
<root\0first\0node\0second\0/node></root>\0
Zagadnienia powiązane
parse | Przetwarza łańcuch znaków zakończony znakiem zerowym. (szablon metody) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.