#c #function #getline
Вопрос:
Недавно я объявил некоторый массив символов и создал функцию с именем inputValue , которая получает символ* str; но я пытаюсь изменить массив на строку и получить ту же информацию с помощью функции getline. Я знаю, что, используя getline, я могу это сделать. но я хочу поместить getline в свою функцию inputValue и использовать ее. В этом случае, как я могу изменить свою функцию inputValue. ниже приведена моя функция inputValue.
inline void InputValue(char* str) {
cin >> str;
};
Комментарии:
1. Это хрупкая функция.
operator>>
понятия не имеет, насколько велик массив, на которыйstr
указывает. Почему бы не использоватьstd::string
?2.
std::cin.getline(str, count)
?3. @TedLyngmo — re: «Почему бы не использовать
std::string
?» — вопрос в том, как это сделать.4. @PeteBecker Это делает — в коде не просто показано, что было опробовано.
5. @minsg: Ты пробовал
void InputValue(std::stringamp; str) { std::cin >> str; }
?