Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определение массива строк

390
27 октября 2005 года
lexus
143 / / 13.04.2004
Как мне проинициализировать массив строк в заголовочном файле?
13K
27 октября 2005 года
Lego87
6 / / 24.10.2005
Пишешь вне функций, т.е. объявляем глобальным.

char array[5][256]={"first","second","third","fourth","fifth"};
5 строк по 255 символов максимум.

char array[5][256]={"first","second",};
Инициализируются только первые 2, остальные пробелами (или как повезет)

или динамичесий

#include <iostream.h>
#include <string.h>

char **array;

void какя-нть функция()
{
int i;
array=new char *[5];
for(i=0; i<5; i++)
array=new char[256];

strcpy(array[0],"0");
strcpy(array[1],"1");
strcpy(array[2],"2");
strcpy(array[3],"3");
strcpy(array[4],"4");

cout << array[0] << endl;
cout << array[1] << endl;
cout << array[2] << endl;
cout << array[3] << endl;
cout << array[4] << endl;

cin >> i;
}

Не понял полность вопроса, а так инициализируется как обычно. по крайней мере в BC 5.02
3
27 октября 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by lexus
Как мне проинициализировать массив строк в заголовочном файле?


Инициализировать что-либо в заголовочном файле - плохая идея.
Заголовочный файл нужен для объявления и в некоторых случаях (классы, структуры) для определения, а инициализация - это уже реализация.

Lego87, использование C-style строк в C++ - плохая практика и опасная практика. Используй std::string.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог