Хорошо, ребята, я очень новичок и пытаюсь ввести строку в массив символов с помощью указателей .. и затем отобразить написанное.Ввод строки символов с использованием массивов и указателей
Есть две вещи, о которых я хочу спросить. Во-первых, если я не хочу указывать размер массива и просто хочу, чтобы он расширялся, чтобы содержать всю строку, в которую я ввел .. так? И второй после того, как я ввешу строку и покажу ее ... он не будет содержать пробел между словом ... нравится, если бы я ввел «я люблю куки» ... он будет отображаться как «ilovecookies» .. So как это решить?
Вот мой маленький код ...
#include <iostream>
using namespace std;
int main()
{
char *strP , str[100] ;
strP = str ;
for(int i =0 ; i<10 ; i++) cin >> *(strP+i) ;
for(int i =0 ; i<10 ; i++) cout << *(strP+i) ;
return 0;
}
извините за мои глупые вопросы, я новичок на этом языке, как сказал и не хотите пропустить вещи, прежде чем двигаться дальше.
Заранее спасибо.
Используйте getline для обработки ввода с пробелами в нем. Не используйте scanf и printf, если у вас нет лучшей причины; они используют varargs, поэтому компилятор не может поймать ошибки типа для вас, и они являются источником ошибок переполнения буфера. –