Форум программистов, компьютерный форум CyberForum.ru

Чтение из файла чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.97
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 98
02.02.2011, 23:17     Чтение из файла чисел #1
Файл состоит из одного целого числа
C++
1
2
3
4
5
6
FILE *fp;
if ((fp=fopen(filename,"r"))==NULL) {
 printf("Cannot open file %s.\n",filename);
 exit(1);
};
i=fread(&n,sizeof(int),1,fp);
Причем i=0; Т.е. ни один блок не прочитал.
Что я делаю не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
02.02.2011, 23:30     Чтение из файла чисел #2
попробуй лу4ше так :

C++
1
2
3
4
5
6
7
8
#include<fstream.h>
main()
{
  int i;
  ifstream in (filename);
  in>>i;
  in.close();
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
02.02.2011, 23:51     Чтение из файла чисел #3
Matlabist, вопрос - как в файле число записано... Если это текстовый файл, то
C
1
2
3
4
5
6
if ( fscanf(fp, "%d", &n) != 1 ){
  /* всё плохо */
  exit(1);
}
printf("Number: %d\n", n);
...
Если файл двоичный, то
C
1
2
3
4
5
6
7
8
9
10
if ( ( fp = fopen(filename, "rb") ) == NULL ){
  /* файл не открылся */
  exit(1);
}
if ( fread(&n, sizeof(int), 1, fp) != 1 ){
  /* не прочитался */
  exit(1);
}
printf("Number: %d\n", n);
...
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 98
03.02.2011, 18:56  [ТС]     Чтение из файла чисел #4
fscanf(fp, "%d", &n) выдает 0. Файл открывает, а не считывает. Создал файл блокнотом, записал число какое-то целое.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
03.02.2011, 20:43     Чтение из файла чисел #5
Цитата Сообщение от Matlabist Посмотреть сообщение
Создал файл блокнотом
Запишите в файл четырёхзначное число, оно прочитается, но результат удивит...
Yandex
Объявления
03.02.2011, 20:43     Чтение из файла чисел
Ответ Создать тему
Опции темы

Текущее время: 17:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru