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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 44, средняя оценка - 4.89
Shtrich
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 18
09.05.2011, 12:46     Считать пустую строку #1
C++
1
2
char *str;
scanf("%s",str);
Как сделать, чтобы при нажатии enter без введенных символов в str записывалась пустая строка?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
09.05.2011, 12:50     Считать пустую строку #2
да запиши просто во так
str="\0"
Shtrich
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 18
09.05.2011, 12:53  [ТС]     Считать пустую строку #3
mansp, надо чтобы можно было и символы вводить и пустую строку.
А scanf не записывает просто пробелы и перевод строки, ждет символов.
Enma Ai
 Аватар для Enma Ai
12 / 12 / 1
Регистрация: 04.12.2009
Сообщений: 54
09.05.2011, 12:54     Считать пустую строку #4
Shtrich,
А сразу инициализировать строку пустой?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 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;
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
09.05.2011, 13:16     Считать пустую строку #6
char *str это указатель, в него вообще ничего писать нельзя. Память для начала выдели на которую он будет указывать...
Shtrich
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 18
09.05.2011, 13:29  [ТС]     Считать пустую строку #7
diagon, то, что надо!)


rangerx,
C++
1
char str[30]
так нормально будет?
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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);
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
09.05.2011, 13:45     Считать пустую строку #9
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
std::cin.getline(str, n);
Разве не
C++
1
std::cin.getline(str, n - 1);
? Запас на '\0'
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
09.05.2011, 14:00     Считать пустую строку #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
asics, getline уже это учитывает, при втором параметре n, будет записано n - 1 символов и \0 в конце.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
09.05.2011, 14:02     Считать пустую строку #11
Хм, спасибо, незнал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 16:15     Считать пустую строку
Еще ссылки по теме:

Копировать пустую строку в const char* Конструктор структуры (класса) C++
C++ Как обозначается перенос строки? Как мне удалить пустую строку?
C++ Как определить пустую строку?

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

Или воспользуйтесь поиском по форуму:
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
09.05.2011, 16:15     Считать пустую строку #12
C++
1
2
char str[80];
gets(str);
Yandex
Объявления
09.05.2011, 16:15     Считать пустую строку
Ответ Создать тему
Опции темы

Текущее время: 04:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru