Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Можно ли использовать cin.getline для указателя типа char* - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ delete this http://www.cyberforum.ru/cpp-beginners/thread924208.html
Добрый день! У меня возник такой вопрос - почему в программе возникает неопределённое поведение для объекта, в деструкторе которого присутствует конструкция delete this? Ведь, по идеи, всё верно -...
C++ Нужен код, который сможет изменять порядок вопросов при запуске программы Нужен код,который сможет изменять порядок вопросов при запуске программы. Например:(при первом запуске) 1)Сколько тебе лет? 2)Ты бухал? (При втором запуске): 1)Ты бухал? 2)Сколько тебе лет? http://www.cyberforum.ru/cpp-beginners/thread924186.html
C++ Как делать оконные приложения C++
Извините за ламерский вопрос, но всё же, кто как делает оконные приложения на С++? Mfc? Или Borland C++ Builder? Кто может дать ссылку на какие-то уроки?) А то хочется с консоли переходить на...
Подсчет символа C++
//header #ifndef STRING1_H_ #define STRING1_H_ #include <iostream> using std::ostream; using std::istream; class String { private:
C++ Даны два упорядоченных массива. Слить их в третий, но чтобы элементы не повторялись http://www.cyberforum.ru/cpp-beginners/thread924125.html
Даны два упорядоченных массива. Нужно слить их в третий, но чтобы элементы не повторялись. (один проход по массивам)
C++ голосовой вызов как можно записать голос потоп обработать его и записать его в текстовый или просто файл,чтобы в файле были уже слова.(вроде голосового вызова)подскажите напровление и литературу.заранее спасибо подробнее

Показать сообщение отдельно
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
16.07.2013, 20:15
Цитата Сообщение от Neoni Посмотреть сообщение
cin.getline(pv->pName,128)
так нельзя.
pv->pName
Это просто указатель.
неинициализированный.
Он может указывать в произвольное место в памяти.
И массива символов в этом месте уж точно не будет выделено.

(Для справки. Массив выделяется оператором new):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
struct EXAMPLE{char* pName;
               char* pAvto;
               EXAMPLE* next;
               };
int main(int nArg,char* pszArgv[]){
  EXAMPLE* pv = new EXAMPLE;
  pv->pName=new char[128];
  cin.getline(pv->pName,128);
  cout << pv->pName;
  cin.sync();
  cin.get();
  delete[] pv->pName;
  delete pv;
return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Neoni Посмотреть сообщение
Хотелось бы разобраться как вообще возможно сделать так что бы указатель ссылался на строку, не используя
дополнительно обьявлений переменных
Что ты понимаешь под "дополнительно обьявлениями переменных"???
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru