Желание сделать какое-то причудливое форматирование. У меня есть несколько строк, которые я хочу взаимодействовать друг с другом. Получите первые две строки. Распечатайте символ во второй строке, умножая целое число в первой строке. Отделите их всех символом звездочки. Нет звездочки после печати окончательного символа. Переместитесь на следующее целое число и символ. Распечатайте их на отдельной строке. Сделайте это для всего списка. Проблема, которую я испытываю, заключается в том, чтобы печатать их на отдельных строках. Пример:Проблемы с getline C++
5
!
2
?
3
#
Желаемый выход:
!*!*!*!*!
?*?
#*#*#
Мой выход:
!*!*!*!*!*?*?*#*#*#*
Кусок кода. Я читаю данные о символах и числах из отдельного текстового файла. Поэтому я использую функцию getline.
Вот кусок кода:
ifstream File;
File.open("NumbersAndCharacters.txt")
string Number;
string Character;
while(!File.eof(){
getline(File, Number);
getline(File, Character);
//a few lines of stringstream action
for (int i=0; i<=Number; i++){
cout<<Character<<"*";}//end for. I think this is where
//the problem is.
}//end while
File.close();
return 0;
Где ошибка? Это цикл? Или я не понимаю getline?
Должно быть напечатано «endl» или «\ n» после каждого умножения символа.
Я задал этот вопрос несколько дней назад. Он не включал мой код. Это было приостановлено. Я отредактировал вопросы и отметил их для комментариев модератора 24 часа назад. От модераторов или тех, кто его приостановил, ответа не поступало, поэтому я снова спрашиваю.
где вы думаете, что ' "Endl" или "\ п"' приходит от? –
Функция 'std :: getline' не помещает символы окончания строки во входную строку. –
Также обратите внимание: [Почему iostream :: eof внутри условия цикла считается неправильным?] (Http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong) –