Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Biblioteki C/C++

parse_no_string_terminators

[stała] Nie umieszcza znaków zerowych w przetwarzanym tekście.

Składnia

C/C++
#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

C/C++
#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

parsePrzetwarza łańcuch znaków zakończony znakiem zerowym. (szablon metody)

Linki zewnętrzne