Описание тега null-terminated

A string that ends with (and does not include) a "null" (ASCII 0) byte, as used by the C language
3 ответа

Обрабатывать нулевой терминатор как обычный символ в C

Я хочу скопировать все символы в символе [] в другой символ []. Однако, предположим, что есть '\0', тогда я хочу рассматривать его как нормальный символ - литерал, если хотите. Поэтому, когда я распечатываю char[] с указателем формата%s, он не долже…
21 сен '14 в 17:05
1 ответ

Расщепление строки в C с помощью нулевого терминатора

В настоящее время я пытаюсь реализовать программу, которая принимает файл, читает файл и копирует его содержимое в массив (farray). После этого мы копируем содержимое farray в виде строк, разделенных нулевыми терминаторами, в массив строк с именем s…
02 мар '16 в 20:48
2 ответа

С ++ завершенный массив объектов с нулевым символом

Я пытаюсь создать массив объектов с нулевым символом в конце, как этот void Game::createCreatures(int numCreatures) { creatures = new Creature *[numCreatures + 1]; for (int i = 0; i <= numCreatures; i++) { if(i < numCreatures) { creatures[i] =…
15 ноя '14 в 00:29
2 ответа

Как бороться с буферизованными строками из C в Swift?

Я работаю с синтаксическим анализатором libxml2 для чтения больших XML-файлов. Большинству обработчиков обратного вызова предоставляется указатель на символ NULL с завершением. С помощью String.fromCString они могут быть преобразованы в обычную стро…
19 дек '15 в 15:33
3 ответа

Как использовать SHFileOperation() с путями CString

Я пытаюсь конвертировать CString в LPCWSTR и это работает хорошо. Но что-то пошло не так при обработке кода. Я хочу скопировать каталог по другому пути, поэтому я использую SHFILEOPSTRUCT: HWND console = GetConsoleWindow(); SHFILEOPSTRUCT s = { 0 };…
21 сен '18 в 09:48
7 ответов

Что такое строка с нулевым символом в конце?

Чем он отличается от std:: string?
10 янв '10 в 14:04
3 ответа

Концы std::strings заканчиваются на '\0' при инициализации строковым литералом?

Я знаю, что строковые объекты не заканчиваются нулем, но почему это должно работать? std::string S("Hey"); for(int i = 0; S[i] != '\0'; ++i) std::cout << S[i]; Таким образом, конструктор также копирует нулевой терминатор, но не увеличивает дли…
21 ноя '16 в 09:17
4 ответа

strstr() для строки, которая НЕ заканчивается на ноль

Как мне сделать на месте эквивалент strstr() для подсчитанной строки (то есть, не заканчивающейся нулем) в C?
21 дек '11 в 03:11
8 ответов

Как записать в массив char символ с нулевым завершающим символом?

Какой правильный и самый безопасный способ запоминать весь массив символов с завершающим нулем символом? Я могу перечислить несколько случаев: ... char* buffer = new char [ARRAY_LENGTH]; //Option 1: memset( buffer, '\0', sizeof(buffer) ); //Option 2…
17 окт '12 в 13:43
2 ответа

Представление строки C в памяти и сравнение

У меня есть такой код: char str1[100] = "Hel0lo"; char *p; for (p = str1; *p != 0; p++) { cout << *p << endl; /* skip along till the end */ } и есть некоторые части, неясные для меня. Я понимаю, что строка с нулевым символом в памяти явл…
31 май '13 в 10:42
2 ответа

Python заменяет '\0' в строке на ноль

В настоящее время я сталкиваюсь со странной проблемой. Я хочу заменить '\0' в строках на 'null' и прочитать многие форумы и всегда видел один и тот же ответ: text_it = "request on port 21 that begins with many '\0' characters, preventing the affecte…
10 авг '18 в 08:22
2 ответа

Преобразование потока памяти с нулевым символом в конце в строку Юникода

В Delphi XE я собираю данные CF_UNICODETEXT из буфера обмена. Результатом является поток, который заканчивается двумя нулевыми байтами. Чтобы получить фактическую строку, которая была скопирована в буфер обмена, мне нужно удалить нули. Этот похожий …
2 ответа

Добавление дополненного числа как QString в QByteArray приводит к появлению нежелательного символа

У меня есть QByteArray которая содержит телеграмму в специальном формате, которая затем отправляется через UDP на удаленный компьютер для дальнейшей обработки. я использую QByteArray::append() собрать телеграмму. Одним из компонентов телеграммы явля…
02 ноя '17 в 08:54
0 ответов

c - перезаписывающий символ перехода на новую строку с нулевым терминатором вызывает segfault

Так что у меня есть строка с несколькими escape-последовательностями новой строки. Я хотел бы вырезать строку до первых n строк, как в программе head из coreutils. Например, скажем, у меня есть строка "a\nb\nc\n", я бы хотел, чтобы первая строка был…
4 ответа

Безопасно ли вводить строку, в которой нет места для нулевого терминатора?

Рассмотрим следующий код: const char foo[] = "lorem ipsum"; // foo is an array of 12 characters const auto length = strlen(foo); // length is 11 string bar(length, '\0'); // bar was constructed with string(11, '\0') strncpy(data(bar), foo, length); …
10 янв '19 в 16:03
3 ответа

Самый чистый способ преобразовать ненулевую завершающую строку c в завершающую строку c

У меня есть некоторые унаследованные функции, которые возвращают ненулевые завершающие строки. struct legacy { char a[4]; //not null terminated char b[20]; //not null terminated }; Я много раздаю эти массивы символов и мне нужен чистый способ конвер…
28 мар '16 в 17:43
9 ответов

Почему строки в C должны заканчиваться нулем?

Просто интересно, почему это так. Мне не терпится узнать больше о языках низкого уровня, и я разбираюсь только в основах C, и это уже сбивает меня с толку. Языки, такие как PHP, автоматически обнуляют строки, когда они интерпретируются и / или анали…
08 фев '10 в 11:49
1 ответ

Как функция std::string c_str() возвращает завершающуюся нулем строку?

Я не могу понять, если char *, возвращенный из string.c_str(), указывает на тот же буфер (и не делает никакой копии), как это завершается нулем? функция добавляет нулевой терминатор в конце строки? и что будет, если в буфере нет лишних байтов для ег…
13 июн '18 в 09:22
7 ответов

Отключение NUL-завершения строк в GCC

Можно ли глобально отключить строки с NUL-окончанием в GCC? Я использую свою собственную библиотеку строк, и у меня нет абсолютно никакой потребности в конечных символах NUL, поскольку она уже хранит надлежащую длину внутри структуры. Тем не менее, …
20 ноя '09 в 17:32
2 ответа

Как завершаются строки с нулевым символом в C++11?

Может быть, это глупо или очевидно, но я не смог найти ни одного ответа. Какой символ заканчивается строкой с нулевым символом в конце C++11? NULL (что на самом деле 0) или новый nullptr? С одной стороны, nullptr должен заменить NULL, С другой сторо…
16 мар '14 в 23:22