Я кодирую простую программу Mad Libs для школы. Код, который я отправляю, выполняет итерацию через массив, который ищет определенные подсказки. После обнаружения он использует подсказку, чтобы задать вопрос и записать ответ. Однако массив, содержащий мои ответы, пропускает первую букву каждого слова, кроме самой первой переменной. Вот мой код и копия вывода из массива. Это дерьмо, которое я знаю, но я учусь.getline() опускает первую букву моего вывода из массива.
char buffer[256];
int y = 0;
//iterates through array looking for answers
for(int i = 0;i <= 256;i++)
{
if(storyArray[i][0] == '<' && isalpha(storyArray[i][1]))
{
for(int x = 0; storyArray[i][x]; x++)
{
switch(storyArray[i][x]){
case '<':
cout << "\t";
x++;
putchar(toupper(storyArray[i][x]));
break;
case '>':
cout << ": ";
cin.ignore();
cin.getline(buffer,256);
strcpy(answerArray[y],buffer);
y++;
break;
case '_':
cout << " ";
break;
default:
cout << storyArray[i][x];
break;
}
}
}
}
Выход: Arrayitem1 rrayitem2
Какие данные вы пытаетесь загрузить? Могли бы вы опубликовать образец этого? – jrd1