Я пытаюсь сохранить символы, которые являются буквами из файла в двухмерном массиве, и после того, как я закончил с последним словом в первой строке, я хотите перейти к следующей строке и сделать то же самое. (Я предположил, что у меня есть 4 строки в моем тексте).C/C++ - Сохранение символов из файла в массив 2d char
Вот мой код:
void getPoem(char *filePath){
ifstream f(filePath);
int NumberOfRows=0;
int NumberOfColumns=-1;
int NumberOfColumns_Clone=-1;
char matrix[100][100]={0};
char s[100];
do{
f.getline(s, 100, '\n');
for(int i=strlen(s)-1;i>=0;i--)
if(isalpha(s[i]))
matrix[NumberOfRows][++NumberOfColumns]=s[i];
matrix[NumberOfRows][++NumberOfColumns]=NULL;
NumberOfColumns--;
NumberOfColumns_Clone=NumberOfColumns; // I used this so i don't lose the nr_of_columns
NumberOfColumns=0;
NumberOfRows++;
matrix[NumberOfRows][NumberOfColumns]='\0';
}
while(NumberOfRows<4);
for (int i = 0; i<=NumberOfRows; i++){
for (int j = 0; j<=NumberOfColumns_Clone; j++)
cout << matrix[i][j] << " ";
cout << endl;
}
cout << endl;
}
Мой выход страшно, когда я напечатать это идет навсегда, и моя программа подает звуковой сигнал. Я знаю, что это плохо, я просто хочу знать, где я сделал это неправильно.
Я не хочу использовать «string», поэтому я борюсь с «char».
Любая помощь будет оценена по достоинству. Большое вам спасибо!
Почему вы не используете отладчик? вы найдете ошибку, и вы тоже узнаете что-то ... – 23ars
Я использовал ее, и это показывает мне, что матрица имеет нужные мне слова, но также и пустые символы, и я не знаю, как ее исправить , – Lazai