![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
вообщем вот кодик...
в одном месте мне сказали что в *nix можно чистить ещё так... fsync(STDOUT_FILENO); /* Для out */ fsync(STDIN_FILENO); /* Для in */ каким образом это работает, кто-то знает? приведите наглядный пример, плз. я побывал побывал, у меня так ничего не получилось |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
это еще почему? Это парсятся они как чары. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Sartorius,
не совсем тебя понял... |
|||
|
||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
ressac, здесь: вводим число и нажимаем ввод. Нажатие на ввод равносильно '\n', но '\n' не может поместиться в usrs[x].tlf (так как считываем то целое число). Поэтому '\n' остается торчать в потоке и затем подхватывается
sync, fsync -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Rockie, ты пробывал компилить этот код ?
|
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
ressac, шутишь? конечно, я подправил твой если ты заметил. Аа, понятно. видать тебе компилятор выдает ошибку в 20-ой строке и поэтому ты так вежливо ответил. Добавлено @ 02:39 ressac, ну касаемо этой ошибки думаю нужно спросить Страуструпа, что-то явно не в порядке.. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Rockie,
мне ошибку выдаёт лишь до тех пор пока там fsync , если я его удалю то всё пашет, но что ты там подправил кроме того что убрал комменты и поставил в fflush? у меня вопрос как чистить буфер в линуксе ? (и в винде без fflush.....) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
если я нажму в место цифры на букву когда scanf("%i",&usrs[x].tlf); будет ждать ввода то вся прога заглючит если конечно в конце FOR'а не будет чистки буфера вроде fflush'a так как scanf("%*c"); мне не поможет в этом случае. понимаешь о чём я ? Добавлено @ 11:54 и не понятно одно почему мне надо чистит буфер (не надо чистить потом что всё хорошо) после scanf("%s",&usrs[x].name); а после gets(usrs[x].name); нада, если она (gets) как тут говорят работают по одному и тому-же принципу что и scanf, читают до '\n' |
|||
|
||||
| vinter |
|
||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
а чем он тебе не угодил??
нет уж позвол, ты нажимай то, что требует программа, а не куда тыкнется.. |
||||
|
|||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
vinter,
ну зачем-же вопросами на вопрос не угодил он мне тем что он только в винде используется,....... программа требует одно а пользователь которые который будет её использовать может тыкнуть не то что надо... |
|||
|
||||
| vinter |
|
||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
тогда использование scanf плохая идея, тебе тогда посимвольно лучше читать..
разве?? это же не api функция.. с чего ты взял, что она только в винде используется?? |
||||
|
|||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
vinter, я не спец , я новичок, я побывал использывать её в линуксе, она там не работала
а что насчёт посимвольно, тогда это совсем другое дело в том-то и дело что хочу узнать как ос сканф-ом и гет-сом быть |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
Я так понял, что тебе нужно проверить правильность(валидность) ввода, и ты пытаешься, в случае ошибки, очистить буфер, определить ошибку и т.п. Думаю, проще ввести полную строку и потом пытаться ее разобрать.
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
threef, нет, мне нада просто чистит БУФЕР
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |