Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2009, 23:24   #1
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию О массивах, содержащих строку.

Здравствуйте. Я программированием занимаюсь всего несколько дней, и возможно мой вопрос покажется смешным.
Собственно, сам вопрос: дапустим, имеется фрагмент программы:
Код:
char stroka[1000];
cin >> stroka;
cout << stroka;
Если ввести строку, содержащую пробелы, то воспринимается и выводится только фрагмент строки до первого пробела. Возможно ли сделать так, чтобы строка воспринималась полностью?
Ведь если сделать, например так:
Код:
char stroka[] = "эта строка выводится полностью";
cout << stroka;
То строка действительно выводится полностью.
Заранее спасибо.

Зы. Среда - dev c++
Ззы. Пишу с телефона, так что извините за возможные ошибки))
GonZaleZ вне форума Ответить с цитированием
Старый 19.06.2009, 23:38   #2
rangerx
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 46
По умолчанию

Код:
	char stroka[1000] = {'\0'};
	cin.getline(stroka, 1000);
	cout << stroka;
rangerx вне форума Ответить с цитированием
Старый 20.06.2009, 00:11   #3
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

Спасибо огромное)) всё работает))
GonZaleZ вне форума Ответить с цитированием
Старый 20.06.2009, 05:52   #4
Lunex.08
Форумчанин
 
Аватар для Lunex.08
 
Регистрация: 25.02.2009
Сообщений: 145
По умолчанию

Еще можно объявить библеотеку <cstdio> и используйте библеотечную функция gets () в таком виде:
Код:
#include <iostream>
#include <cstdio>
using namespace std;
int main ()
{
char stroka [1000];
gets (stroka);
cout << stroka;
getchar ();
return 0;
}
Функция gets () ситывает строку с клавиатуры.В качестве аргумента передается имя массива,не указывая индекс.
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.

Последний раз редактировалось Sazary; 20.06.2009 в 13:24.
Lunex.08 вне форума Ответить с цитированием
Старый 20.06.2009, 07:41   #5
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

Спасибо. Обязательно попробую))
GonZaleZ вне форума Ответить с цитированием
Старый 20.06.2009, 07:56   #6
Lunex.08
Форумчанин
 
Аватар для Lunex.08
 
Регистрация: 25.02.2009
Сообщений: 145
По умолчанию

И если я помог,нажми плиз на весы под моей аватаркой!)
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.
Lunex.08 вне форума Ответить с цитированием
Старый 20.06.2009, 07:58   #7
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

Ок, без проблем))
Upd: а не, есть проблем... Пишу с телефона, а тут это окошко как-то криво выводится((
GonZaleZ вне форума Ответить с цитированием
Старый 20.06.2009, 15:00   #8
rangerx
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 46
По умолчанию

Цитата:
Еще можно объявить библеотеку <cstdio> и используйте библеотечную функция gets () в таком виде
gets не контролирует выход за пределы массива, поэтому всё же лучше использовать getline.
rangerx вне форума Ответить с цитированием
Старый 21.06.2009, 13:31   #9
Lunex.08
Форумчанин
 
Аватар для Lunex.08
 
Регистрация: 25.02.2009
Сообщений: 145
По умолчанию

Но для начала можно использовать gets ().Тем более что это самый простой вывод символьного массива и я объяснил как функция gets работает.
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.
Lunex.08 вне форума Ответить с цитированием
Старый 21.06.2009, 13:34   #10
Lunex.08
Форумчанин
 
Аватар для Lunex.08
 
Регистрация: 25.02.2009
Сообщений: 145
По умолчанию

И getline надо изучать позже когда закрепится материал про массивы и некоторые др. темы.Вобщем getline надо изучать чуть позже.


GonZaleZ, на счет комента-не парься)
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.
Lunex.08 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
немного о одномерных массивах Алекс К. Помощь студентам 2 10.03.2009 19:38
Найти номера(индексы) в матрице хотябы одной строки или хотя бы одного столбца не содержащих еденицы Сергей Попов Паскаль, Turbo Pascal, PascalABC.NET 1 28.11.2008 08:59
Вопрос о массивах makSum Помощь студентам 3 07.06.2008 21:58
Естественное слияние в массивах Virus-Haker Помощь студентам 2 07.02.2008 13:40