LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

В библиотеке, в которую уже вложили несколько человеколет работы, скорее будут учтены острые углы и решены детские проблемы, а вот в самокатном велосипеде весь этот путь придётся проходить заново.

Вот хороший пример: https://github.com/Nekrolm/ubbook/blob/master/standard_lib/iostreams.md

Если задача «получить от пользователя число в формате xxxx.xx», то надёжнее и быстрее написать свой велосипед типа

#define LEN 7 // = "xxxx.xx"
char s[LEN+1];
if(read(STDIN_FILENO, s, LEN) != LEN) {
  // обработали ошибку
}
s[LEN] = 0;
// проверили, что там цифры и точка, преобразовали цифры, вычтя '0'

Исправление monk, :

В библиотеке, в которую уже вложили несколько человеколет работы, скорее будут учтены острые углы и решены детские проблемы, а вот в самокатном велосипеде весь этот путь придётся проходить заново.

Вот хороший пример: https://github.com/Nekrolm/ubbook/blob/master/standard_lib/iostreams.md

Если задача «получить от пользователя число в формате xxxx.xx», то надёжнее и быстрее написать свой велосипед типа

#define LEN 7 // = "xxxx.xx\0"
char s[LEN+1];
if(read(STDIN_FILENO, s, LEN) != LEN) {
  // обработали ошибку
}
s[LEN] = 0;
// проверили, что там цифры и точка, преобразовали цифры, вычтя '0'

Исходная версия monk, :

В библиотеке, в которую уже вложили несколько человеколет работы, скорее будут учтены острые углы и решены детские проблемы, а вот в самокатном велосипеде весь этот путь придётся проходить заново.

Вот хороший пример: https://github.com/Nekrolm/ubbook/blob/master/standard_lib/iostreams.md

Если задача «получить от пользователя число в формате xxxx.xx», то надёжнее и быстрее написать свой велосипед типа

#define LEN 8 // = "xxxx.xx\0"
char s[LEN];
if(read(STDIN_FILENO, s, LEN) != LEN) {
  // обработали ошибку
}
// проверили, что там цифры и точка, преобразовали цифры, вычтя '0'