0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
1 | |
Считывание с консоли С++07.07.2010, 18:48. Показов 25104. Ответов 18
Метки нет (Все метки)
1.Мне нужно считать текст введенный пользователем с консоли и записать в переменную, он может быть довольно большим, и, естественно, содержать пробелы. Его длина зараннее неизвестна. Как это можно сделать?
2.Если записать довльно большой текст в файл, он автоматически разобьётся на строки? Если да, то какой они будут длинны? И как узнать сколько их будет
0
|
07.07.2010, 18:48 | |
Ответы с готовыми решениями:
18
считывание с консоли ( не с клавы, а именно с консоли) Считывание данных из консоли Считывание пробела с консоли Считывание символов из консоли |
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
||||||
07.07.2010, 19:18 | 2 | |||||
Для ввода с клавиатуры в консоли в С++ используется поток ввода cin. Вот навскидку нашел пример, правда он с использованием STL библиотеки:
http://cplus.about.com/library... 22302a.htm Удачи, Владимир
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
07.07.2010, 19:24 | 3 |
Ответ на второй вопрос: нет. Все будет писаться в одну строку до тех пор пока не встретися символ перевода на новую строку в C++ и во многих других языках с похожим синтаксисом этот символ записывается как:
(от английского new line). Для текстовых файлов в Windows это чаще всего 2 символа: (new line, return character). то есть что-нибудь в следующем роде: Код
... file << 'какой-то тексто.... ля-ля-ля.... Это уже новая строка'; file << 'это все еще вторая строка'; file << 'и даже это вторая строка'; file << ' а вот это уже третья строка'; ...
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
07.07.2010, 19:31 [ТС] | 4 |
Да, это всё замечательно, но у меня cin>> считывает только одно слово - до пробела - остальное - игнорирует.
то есть если я ввожу текст: От улыбки станет всем светлей cin>>text; cout<<text; у меня выводится только 'От'
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
||||||
07.07.2010, 19:35 [ТС] | 5 | |||||
Почему может не работать етот код?
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
||||||
08.07.2010, 02:57 | 6 | |||||
Потому что он должен выглядеть примерно вот так:
А с пробелами - да, там есть маленькая хитрость, сейчас посмотрю, где-то я уже это встречал...
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
08.07.2010, 03:08 [ТС] | 7 |
Пасиб. По поводу
'...char* text2 = new char[len + 1]; fgets(text2, len + 1, file);......' Не соосбразил, хотя мысля вокруг этого вертелась. А вот по поводу: text=new char[200]... а что будет, если я введу больше 200 символов? Какое максимальное число может содержать char? 256?
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
||||||
08.07.2010, 03:09 | 8 | |||||
Вот такая вещь работает с cin и не считает пробелы разделителями ввода:
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
08.07.2010, 03:13 | 9 |
Длина может быть сколько угодни, введите достаточно число, скажем экран у нас 40х80 символов (или какой он там в DOS был, я уж и не помню), поэтому делаем:
Код
text=new char[40 * 80] // Лень считать, пусть это делает компьютер // Я знаю что это 3200 :)
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
08.07.2010, 03:15 [ТС] | 10 |
To boombastik:
ну...по поводу красоты кода, так его писал, вернее диктовал человек с сильным сотрясением мозга...так что....
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
08.07.2010, 03:16 [ТС] | 11 |
Спасибо вам.
От stesh тоже.
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
08.07.2010, 03:19 | 12 |
Чисто дружеский совет: купите, достаньте книгу Бьерна Страуструпа 'Язык программирования С++'. С множеством вопросов не придется идти на форум.
Если не удастся найти, купить книгу, я могу выслать по e-mail у меня вроде-бы пылилось где-то в архивах его первое издание. С уважением, Владимир
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
08.07.2010, 03:21 | 13 |
531 Kb в архиве.
А так вас там двое ну привет вам всем... ночные мотыльки
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
08.07.2010, 03:33 [ТС] | 14 |
нас не двое, Stesh в больнице.
Если не трудно, вышлите на bjulie@mail.ru И у нас уже утро :-)
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
08.07.2010, 03:41 | 15 |
Какой ужас! Я все перепутал мои искренние извинения и привет Юлии, пусть побыстрей выздоравливает.
P.S. Страуструп уже в пути, так что ловите
0
|
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 53
|
|
08.07.2010, 03:48 [ТС] | 16 |
А вы с ней знакомы??? вы из Иркутска???
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
08.07.2010, 04:24 | 17 |
Нет, я с ней не знаком лично, просто один раз помогал решать проблему. И сам я не из Иркутска. Можно сказать, что я из Вологды, хотя это тоже будет не совсем верно. Впочем, обсуждение таких вещей - полный офтопик, да и поздно уже у нас... пора спать.
Приятного Вам дня! Прикольно все же у Вас там уже утро, день настает, а у нас кромешная тьма, ночь на дворе Надеюсь что вы успешно получили Страуструпа, а то что-то мне не понравился AutoReply c mail.ru на отправленное Вам письмо?
0
|
0 / 0 / 1
Регистрация: 26.05.2009
Сообщений: 86
|
|
09.07.2010, 13:42 | 18 |
Привет
Могу в мыло бростить Страуструпа последнее издание в пдфе (на английском).
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
09.07.2010, 16:13 | 19 |
Мой на русском (правда только второе издание) но мне надоело всем на мыло кидать, поэтому качайте отсюда:
http://www.gotai.net/download/cpp.zip (531 kB)
0
|
09.07.2010, 16:13 | |
09.07.2010, 16:13 | |
Помогаю со студенческими работами здесь
19
Считывание файлов и консоли с++ Считывание LPWSTR из консоли Из С в C++, считывание с консоли в цикле Считывание в массив char с консоли Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |