[P&AM Lab] генератор паролей
Grigoriy A. Sitkarev
sitkarev на komitex.ru
Вт Фев 15 20:29:04 MSK 2011
Костя,
Ты во-первых, не спеши. Это раз.
Во-вторых, то что fgets() записывает нам символ переноса каретки -- это
прелестно. Потому что мы точно знаем что ввод был завершён и у нас есть
все символы, которые вводил пользователь.
Думаю что на примере ниже всё будет понятно. Объяснения не нужны.
#define MAX_BUF
void read_line()
{
char buf[MAX_BUF];
char *cp;
int len;
cp = fgets(buf, sizeof(buf), stdin);
if (cp == NULL) {
fprintf(stderr, "can't read stdin\n");
...
}
len = strlen(buf);
if (buf[len-1] != '\n') {
fprintf(stderr, "input line too long\n");
...
}
buf[--len] = '\0';
/* Now buf has a string without '\n' and len is it's length.*/
...
}
--
Г.А.
15.02.2011 19:15, Константин Никулов пишет:
> Почти все переделал - стало гораздо проще и короче) Единственная проблема - если использовать fgets для получения пути, то записываемые файлы приобретают в конце символ '\n'.
Подробная информация о списке рассылки Lab