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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ определения характеристики массива http://www.cyberforum.ru/cpp-beginners/thread195534.html
Все ли элементы четные?? ответ должен быть "да" или "нет" (на языке Си). всем заранее спс
C++ Вектор Всем доброго времени суток. Помогите плиз написать программу. Дан вектор x. Минимальный элемент поменять местами с максимальным элементом. http://www.cyberforum.ru/cpp-beginners/thread195530.html
C++ редактирование файла
Здравствуйте помогите пл3, как это покрасивее сделать, учитывая что человек не особо разбирается в программировании Скопировать содержимое текстового файла, удалив в каждой строке предпоследнее слово.
время (с++) C++
Здравствуйте!!! в первые работаю с классами... завершите мой код. от моей задачи требуется: ввести время, если часы меньше 0 или больше 23 или минуты меньше чем 0 или больше чем 60 (так же и секунды) нужно вывсети INVALID, а если нет, то вывести в норм формате. Простая проверка: ввести:3 10 10 10 10 -1 0 12 00 12 вывести:10:10:10 INVALID 12:00:12 заранее благодарю!!!
C++ Указатели - в чем суть? http://www.cyberforum.ru/cpp-beginners/thread195521.html
Кто нибидь может мне обястнить укасзатели в С++,ато я некак не врубаюсь.
C++ char массив в int массив имеется массив типа char во второй строке идет последовательность чисел через пробел, нужно вставить эти числа в массив типа int. подробнее

Показать сообщение отдельно
ilya~k
3 / 3 / 1
Регистрация: 31.10.2010
Сообщений: 25
22.11.2010, 17:48     Не могу найти ошибку (Работа с текстовыми файлами)
Я написал для нужной мне программы функцию, которая считывает строку из файла, возвращает на начало строки указатель, и преобразовывает строку(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.
Помогите найти ошибку, пожалуйста!
И если такая функция уже существует в стандартных библиотеках - буду очень благодарен, если вы ее напишете
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru