Запись в массив нескольких строк
Здесь приведен пример как в один массив можно записать сразу несколько строк. Идея, реализованная в приведенном программном коде, достаточно проста. Состоит она в том, что в символьный массив вносится подряд несколько строк, а в качестве разделителей используются нуль-символы. Для записи строк в массив и извлечения строк из массива в программе определяются две функции. Функция StringIn() используется для занесения строк в массив, а функция StringOut() нужна для извлечения строк из массива.
Пример. Запись в массив нескольких строк
Пример. Запись в массив нескольких строк
#include#include using namespace std; /*Функция для внесения строки в массив. Аргументы функции – массив str1 для внесения строки, вносимая строка str2, а также порядковый индекс n строки*/ void StringIn(char *str1,char *str2,int n){ //Поиск позиции в массиве для записи строки while(n!=0){ if(!(*str1)) n--; str1++;} //Запись строки в массив while(*str2){ *str1=*str2; str1++; str2++; } //Запись нуль-символа в конец строки в массиве *str1='\0'; } /*Функция для выведения на экран строки из массива. Аргументы функции – массив str, из которого извлекается строка, а также порядковый индекс n извлекаемой строки*/ void StringOut(char *str,int n){ //Поиск начала извлекаемой строки while(n!=0){ if(!(*str)) n--; str++; } //Выведение строки на экран cout << str << endl; } //Проверка работы созданных функций int main(){ int i; //Массив для записи нескольких строк char str[120]; //Массив для считывания вводимой пользователем строки char s[30]; //Запись строк в массив for(i=0; i < 3; i++){ cout << "Enter a string: "; gets(s); StringIn(str,s,i);} StringIn(str,"One more string",3); //Считывание строк из массива for(i=0; i <= 3; i++) StringOut(str,i); return 0; }