Проблема с использованием < username > в URL

Чтобы записать std :: string в двоичный файл, сначала необходимо сохранить длину строки:

std::string str("whatever");
size_t size=str.size();
outfile.write(&size,sizeof(size);
outfile.write(&str[0],size);

Чтобы прочитать это, отмените процесс, изменив размер строки сначала, чтобы вы имеют достаточно места:

std::string str;
size_t size;
infile.read(&size, sizeof(size));
str.resize(size);
infile.read(&str[0], size);

Поскольку строки имеют переменный размер, если вы не поместили этот размер в файл, вы не сможете получить его правильно. Вы можете положиться на маркер '\ 0', который, как гарантируется, будет в конце строки c или эквивалентной строки :: c_str (), но это не очень хорошая идея, потому что 1. вы должны прочитать в string character по символу, проверяющему значение null 2. Строка std :: string может содержать нулевой байт (хотя это действительно не так, потому что вызовы c_str () тогда путают).

-3
задан Devang Padhiyar 27 February 2019 в 10:27
поделиться

1 ответ

Необходимо указать аргумент в сигнатуре метода, то есть изменить

def profile(request):

на:

def profile(request, username):

0
ответ дан m1n0 27 February 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: