как delphi 'строковые' литералы могут быть больше 255?

да, %c будет печатать один символ:

printf("%c", 'h');

также, putchar / putc тоже будет работать. Из «man putchar»:

#include <stdio.h>

int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);

* fputc() writes the character c, cast to an unsigned char, to stream.
* putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once.
* putchar(c); is equivalent to putc(c,stdout).

EDIT:

Также обратите внимание, что если у вас есть строка, для вывода одного символа, вам нужно получить символ в строке, которая вы хотите вывести. Например:

const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */
23
задан Warren P 7 January 2012 в 14:18
поделиться

3 ответа

Разделить на:

sMyStringOF256characters := 
  'ThisStringis' +
  'ofLength256' +
  'And ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'ManyManyManyManyManyManyManyManyManyManyManyManyMany' + 
  'CharactersCharactersCharactersCharactersCharactersCharactersCharactersCharacters';
7
ответ дан Arjen van der Spek 7 January 2012 в 14:18
поделиться

Разница в том, что в первом примере кода вы помещаете строку как часть вашего кода - буквальную строку. Это ограничивает количество символов, которое оно будет разрешать.

Во втором примере кода вы генерируете его динамически, а не помещаете его в одну большую литеральную строку.

Строковый тип в Delphi (в отличие от короткой строки, который может быть только до 255) может быть таким же большим, как ваша память.

2
ответ дан Nethy 7 January 2012 в 14:18
поделиться

Если вам нужна действительно длинная строка в Delphi, вы можете загрузить ее из других ресурсов, таких как текстовые файлы или просто текст с любым расширением. Я использую это, и это работает. Вы можете создавать таблицы массивов "like a", используя номера строк в виде простого текста. В коде delphi вы можете делать то, что говорит @arjen van der Spek и другие.

Для меня файлы с текстом в формате var -

sometext:string=
'txt...'+
'txt...'+
'txt...';

плохи для будущего редактирования.

Плюсы: вы можете использовать любой длинный текст.

минусы: текстовый код открыт, любой может прочитать его, открыв файл в блокноте и т. Д.

0
ответ дан Dudeist 7 January 2012 в 14:18
поделиться
Другие вопросы по тегам:

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