Здравствуйте. Помогите пожалуйста решить следующую проблему:
Программа должна считывать строки в символьный массив из файла.
Файл in.txt следующий
AA
BB
CC
DD
Написанная мною программа работает не верно. Вместо помещения в массив строк из файла, он заполняется только последней строкой. т.е.
СС
СС
СС
СС
СС
В процессе дебага я заметил просто поразившую меня вещь. Строка считывается нормально, заносится в массив, считывается следущая строка, а затем предыдущий и следующий элементы массива заполняются новым. И так получается что последняя строка дублируется на весь массив. Подскажите в чем мой косяк?
Код программы
#include "stdlib.h"
#include "string.h"
#include <iostream>
#include <fstream>
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
const int DAYS = 5;
char *array[DAYS];
ifstream in;
in.open("in.txt");
if (in.fail()) {
cout << "Ошибка. Файл не найден! ";
cin.get();
cin.get();
exit(0);
}
char *str;
for (int i = 0; i < 5 ; i++) {
in>>str;
array[i]=str;
}
in.close();
for (int i = 0; i <5 ; ++i) {
cout<<array[i]<<endl;
}
cin.get();
cin.get();
return 0;
}