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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 44, средняя оценка - 4.89
Shtrich
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 18
#1

Считать пустую строку - C++

09.05.2011, 12:46. Просмотров 6153. Ответов 11
Метки нет (Все метки)

C++
1
2
char *str;
scanf("%s",str);
Как сделать, чтобы при нажатии enter без введенных символов в str записывалась пустая строка?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 12:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать пустую строку (C++):

Как определить пустую строку? - C++
Допустим, пользователю предлагается ввести строку. Случай, когда будет нажиматься Enter я учел. Но как учесть ситуацию, когда пользователь...

Как реализовать проверку на пустую строку? - C++
Нужно что бы ввод прекращался либо после наполнения массива, либо при вводе пустой строки в качестве имени студента ( a.fullname; ) ...

Необходимо записать в пустую строку число (ASCII код) - C++
Следующая программа должна во введенной строке заменять все согласные буквы на гласные (это мне удалось реализовать) , а вместе гласный...

Копировать пустую строку в const char* Конструктор структуры (класса) - C++
Я думал, что это копирует в ch символ конца строки char *ch=new char; strcpy(ch,""); delete ch; В обычном случае оно так и...

Реализовать функцию, возвращающую i-е по счету слово от начала строки s, либо пустую строку - C++
Помогите написать программу: Реализовать функцию Word(s, i), возвращающую i-е по счету слово от начала строки s, либо пустую строку....

Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а - C++
Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а, необходимо для интерактивного ввода в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
09.05.2011, 12:50 #2
да запиши просто во так
str="\0"
0
Shtrich
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 18
09.05.2011, 12:53  [ТС] #3
mansp, надо чтобы можно было и символы вводить и пустую строку.
А scanf не записывает просто пробелы и перевод строки, ждет символов.
0
Enma Ai
12 / 12 / 1
Регистрация: 04.12.2009
Сообщений: 54
09.05.2011, 12:54 #4
Shtrich,
А сразу инициализировать строку пустой?
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.05.2011, 12:55 #5
C++
1
2
3
4
5
6
#include <iostream>
int main(){
    char *str;
    std::cin.getline(str,80);
    return 0;
}
1
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
09.05.2011, 13:16 #6
char *str это указатель, в него вообще ничего писать нельзя. Память для начала выдели на которую он будет указывать...
0
Shtrich
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 18
09.05.2011, 13:29  [ТС] #7
diagon, то, что надо!)


rangerx,
C++
1
char str[30]
так нормально будет?
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
09.05.2011, 13:41 #8
Вот так:
C++
1
2
3
const std::size_t n = 30;
char str[n];
std::cin.getline(str, n);
А ещё лучше так(после того как разберёшься с указателями естественно)
C++
1
2
3
4
#include <string>
...
std::string str;
std::getline(std::cin, str);
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 13:45 #9
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
std::cin.getline(str, n);
Разве не
C++
1
std::cin.getline(str, n - 1);
? Запас на '\0'
0
Ma3a
Эксперт C++
617 / 461 / 31
Регистрация: 28.01.2011
Сообщений: 605
09.05.2011, 14:00 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
asics, getline уже это учитывает, при втором параметре n, будет записано n - 1 символов и \0 в конце.
3
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 14:02 #11
Хм, спасибо, незнал.
0
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
09.05.2011, 16:15 #12
C++
1
2
char str[80];
gets(str);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 16:15
Привет! Вот еще темы с ответами:

Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с так - C++
Помогите составит программу на c++ .Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если...

Как обозначается перенос строки? Как мне удалить пустую строку? - C++
В строку занесен текст &quot;Строка-1&quot;, потом перенос строки и &quot;Строка-2&quot;. Выглядит это так: Строка-1 Строка-2 Нужно привести к...

Считать строку из файла - C++
int ch; while (ch ==100) { fgets( load_string, ch , file ); cout &lt;&lt; load_string &lt;&lt; endl; ...

Считать строку в Visual C++ - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &quot;cstring&quot; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.05.2011, 16:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru