Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/237: Рейтинг темы: голосов - 237, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 40
1

Ввод с консоли в *char

06.12.2010, 09:00. Показов 45587. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как ввести строку с консоли в переменную типа *char? Вот такой код не работает

C++
1
2
3
4
5
6
7
8
#include <iostream.h>
 
char *string[];
 
void main()
{
cin >> string;
}
Такой код тоже не работает.

C++
1
cin.getline(string, sizeof(string));
Пожалуйста подкажите как? Или можно каким нибудь образом в *char поместить значение простого char??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2010, 09:00
Ответы с готовыми решениями:

Ввод русских символов в char* с консоли
Доброго времени года! Прописал setlocale для норм русского в консоли. Имею строку типа char*....

Что работает быстрее, ввод с консоли или ввод с файла?
вводятся множество списков программа удаляет первое число списка и удаляет все числа в этом списке...

Переделать ввод с консоли на ввод из файла
Здравствуйте! Написала программу, но результат таков: я брала информацию из строки. Мне нужно,...

Пропускает ввод данных в консоли. Не работает часть кода. Пропускает ввод фио
Добрый день! Помогите пожалуйста! В void add_dinamo() пропускает cout&lt;&lt;&quot;ФИО: \t&quot; ;...

3
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
06.12.2010, 09:10 2
обычно делают:
C
1
2
char buffer[128];
sacanf("%s",buffer);
а если надо для char*
то тут твоя string это просто указатель на тип char не больше, никакой памяти под нее не резервируется, это надо делать самостоятельно:
C++
1
2
3
char *string = new char[128];
scanf("%s",string);
delete string;
вообще лучше использовать стандартный класс std::string (и не называть его именем переменные, компилятор, конечно же, разберется что к чему, но зачем лишний риск)
C++
1
2
3
4
5
#include <iostream>
#include <string>
std::string str(80);
std::cin.getline(str,80);
char c1 = str[0], c2=str[1];
1
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 40
06.12.2010, 09:31  [ТС] 3
Aye Aye, Спасибо тебе огромное! Но у меня возникла проблема

C++
1
2
3
4
5
6
7
8
9
char *string = new char[128];
char *string1 = new char[128];
char *string2 = new char[128];
cout << "Enter num 1\n";
scanf("%s",string1);
cout << "Enter num 2\n";
scanf("%s",string2);
string = Add2Roman(string1, string2);
cout << string;
Все работает, когда прогу запускаеш - черный экран с курсором, первая строчка cout не выводится. После ввода 1 значения, второй cout также не срабатывает. И только потом выводятся эти две строки и результат.

Пример.

XX
II
Enter num 1
Enter num 2
XXIIPress any key to continue_


Добавлено через 2 минуты
Гы, уже все сделал. Меня спас старый добрый printf(); Еще раз спасибо.
0
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
06.12.2010, 10:34 4
все было потому, что cout и cin не синхронизированы с printf и scanf в DOS, это надо отдельно делать руками. незачто, у меня кстати и так все работает в linux, ибо в линуксе они пишут в одни и те же потоки, а как в DOS я не знаю.
0
06.12.2010, 10:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2010, 10:34
Помогаю со студенческими работами здесь

Считывание в массив char с консоли
не выходит считать массив чаров, после перевода строки консоль не закрывается, а просто переходит...

Ввести строку char с консоли
Добрый день! Помогите, пожалуйста. В моей программе используются переменные char* Я их...

Ввод с консоли
Подскажите пожалуйста, как в java лучше реализовать ввод с консоли? Заранее спасибо!)

Ввод с консоли
Доброе утро. Нужно сделать в программе ввод числа n с консоли. Логично предположить, что его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru