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

Не могу найти ошибку (Работа с текстовыми файлами) - C++

Восстановить пароль Регистрация
 
ilya~k
3 / 3 / 1
Регистрация: 31.10.2010
Сообщений: 25
22.11.2010, 17:48     Не могу найти ошибку (Работа с текстовыми файлами) #1
Я написал для нужной мне программы функцию, которая считывает строку из файла, возвращает на начало строки указатель, и преобразовывает строку(2 цифры) в двузначное число, и это число, собственно, функция возвращает(в нижеприведенном коде я вывожу ее на экран):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
using namespace std;
FILE *fuch; 
void fsr(FILE *fp)
{
  
  char cnum[3];
  int num; 
  fgets(cnum,3,fp); //Считываем 3 символа(последний - нулевой)
  fseek(fp,3,0); //Передвигаем указатель файла на три символа назад.
  num = (((int)cnum[0] - 30)*10) + ((int)cnum[1] - 30); //Преобразуем символы в число
  cout << num << endl;  
}
//-------------------------------------
int main()
{
  setlocale(LC_ALL,"rus");
  if ((fuch = fopen("1.txt","r"))==NULL) cout << "Не найден файл 1.txt\n"; 
  fsr(fuch);
  system("PAUSE"):
}
Файл 1.txt содержит число 12, но программа выводит на экран число 210.
Помогите найти ошибку, пожалуйста!
И если такая функция уже существует в стандартных библиотеках - буду очень благодарен, если вы ее напишете
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2010, 17:48     Не могу найти ошибку (Работа с текстовыми файлами)
Посмотрите здесь:

C++ Работа с текстовыми файлами
Работа с файлами в Си, не могу найти ошибку в коде C++
Работа с файлами, помогите найти ошибку. C++
C++ Работа с текстовыми файлами
Работа с текстовыми файлами ( найти и вывести на дисплей слово, есть файл некой структуры:) C++
C++ Работа с текстовыми файлами
C++ Работа с файлами ( найти ошибку)
Работа с текстовыми файлами: найти последний символ в строке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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