История изменений
Исправление 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'