Простите за незнание, но я не знаю, что означает эта фраза. У меня есть несколько вопросов:

  1. есть ли разница между «строка не завершена» и «строка не заканчивается нулем»?
  2. Что это такое?
  3. Как выглядит строка без завершения?

Спасибо!

2
Ivan Prodanov 25 Авг 2009 в 16:22
1
Не могли бы вы дать немного больше контекста? Где / кто / что говорит, что строка «не завершена»? Это сообщение об ошибке?
 – 
hbw
25 Авг 2009 в 16:25
2
На каком языке вы получаете сообщение об ошибке?
 – 
Jeff Ober
25 Авг 2009 в 16:25
3
Какой язык? где в процессе вы видите проблему? может дать нам очищенный фрагмент кода?
 – 
geowa4
25 Авг 2009 в 16:26
Если вы также не укажете длину, невозможно определить, когда заканчивается незавершенная строка * 7jd @ jh # MV * ()> SDk +! ^ & @ P &] JEA�
 – 
Mooing Duck
4 Окт 2012 в 02:24

2 ответа

Лучший ответ

Это зависит от контекста. Когда кто-то говорит о строке с завершающим нулем, они обычно говорят о строке в стиле C, которая представляет собой просто массив символов, за которым следует 0-байт в конце, иногда обозначаемый как \ 0 или null.

Это отличается от строковых типов данных, которые вместо этого хранят свою длину в начале, а затем массив символов. В этом случае строка «йо!» будет представлен как:

Length  Char0 Char1 Char2
------  ----- ----- -----
  3       y     o     !

Когда кто-то говорит о строке, которая «не завершается», они обычно говорят о строке, которая не заключена в два набора кавычек - это тот тип ошибки, который вам выдаст компилятор. Это совсем другое дело.

11
Dave Markle 25 Авг 2009 в 16:26

«строка не завершена» обычно означает, что в строке отсутствует закрывающая кавычка.

1
Tundey 25 Авг 2009 в 16:25