C: как создать пустую строку? - PullRequest
0 голосов
/ 20 ноября 2018

Пожалуйста, я боролся за это 5 часов, я знаю, как создать пустой символ, это выглядит так:

char c[] = '';

но как я могу создать пустую строку STRING?(потому что я хочу использовать его как временное место для хранения других строк)

char temporary[] = "";
error : array type 'char [1]' is not assignable

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Определить буфер для хранения содержимого строки:

#define BUFFER_SIZE 256 // or whatever size you need

char buffer[BUFFER_SIZE+1] = {0}; // +1 for string terminator, 
                                  // = {0} initializer zeroes out entire buffer

Кому назначить строку для этого буфера, используйте strcpy:

strcpy( buffer, "some string" );

Для добавьте строку в этот буфер, используйте strcat:

strcat( buffer, "more string" );

РЕДАКТИРОВАТЬ

Теперь, когда вы отредактировали свой вопрос,проблема в строке

tempo = "";

Выражение массива наподобие tempo не может быть целью оператора =;Вы должны использовать библиотечную функцию, например strcpy, для назначения строковых значений.Если вы хотите установить tempo в пустую строку, вы можете выполнить одно из следующих действий:

strcpy( tempo, "" );

или

tempo[0] = 0;

или

tempo[0] = '\0';
0 голосов
/ 20 ноября 2018

В C вы должны все время создавать временный буфер.Наиболее типичный способ сделать это - написать строку кода, подобную этой:

char temp_buffer[256];

В этом буфере будет доступно 256 символов пространства для возможности вставки строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...