Про fscanf
Jan. 4th, 2007 06:03 pmГоспода уважаемые программисты !!!
В связи вот с этим:
http://nyurka.livejournal.com/61835.html
похоже надо отдельно уточнить
НИ В КОЕМ СЛУЧАЕ
нельзя писать, особенно если вот оно в цикле
if(fscanf(file, "%d %d %d", &n1, &n2, &n3) != EOF)
{
можно сделать что-то жутко умное
}
Если уж так страшно хочется, то как минимум
int NRES = fscanf(file, "%d %d %d", &n1, &n2, &n3);
if((NRES != 0) && (NRES != EOF))
{
можно сделать что-то жутко умное
}
А ПРАВИЛЬНО
if(NRES == количеству аргументов)
{
можно сделать что-то жутко умное
}
И честно говоря для меня откровение, что это вообще надо кому-то объяснять.
UPD - Господа, если кто-то не понял смысл здесь написанного, отдельно повторяю
Пытаться получить с помощью функции fscanf EOF это тупейшая ошибка, но пытаться с помощью EOF определить считала что-нибудь fscanf или нет - это я даже не знаю, это уже не ошибка, это уже шизофрения.
UPD2 - Господа, если вы всерьез считаете нелигитимным получение файла не того формата или не того размера, на который рассчитывали - ну я не знаю, может вам стоит сменить профессию, а????
UPD3 - Господа, может это у меня лохматость повысилась, может я уже старая для современной школы программирования, но скажите, неужели сейчас ТАК учат?????
В связи вот с этим:
http://nyurka.livejournal.com/61835.html
похоже надо отдельно уточнить
НИ В КОЕМ СЛУЧАЕ
нельзя писать, особенно если вот оно в цикле
if(fscanf(file, "%d %d %d", &n1, &n2, &n3) != EOF)
{
можно сделать что-то жутко умное
}
Если уж так страшно хочется, то как минимум
int NRES = fscanf(file, "%d %d %d", &n1, &n2, &n3);
if((NRES != 0) && (NRES != EOF))
{
можно сделать что-то жутко умное
}
А ПРАВИЛЬНО
if(NRES == количеству аргументов)
{
можно сделать что-то жутко умное
}
И честно говоря для меня откровение, что это вообще надо кому-то объяснять.
UPD - Господа, если кто-то не понял смысл здесь написанного, отдельно повторяю
Пытаться получить с помощью функции fscanf EOF это тупейшая ошибка, но пытаться с помощью EOF определить считала что-нибудь fscanf или нет - это я даже не знаю, это уже не ошибка, это уже шизофрения.
UPD2 - Господа, если вы всерьез считаете нелигитимным получение файла не того формата или не того размера, на который рассчитывали - ну я не знаю, может вам стоит сменить профессию, а????
UPD3 - Господа, может это у меня лохматость повысилась, может я уже старая для современной школы программирования, но скажите, неужели сейчас ТАК учат?????