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

Не корректное считывание текста (файл прямого доступа) - C++

Восстановить пароль Регистрация
 
Глорх
Сообщений: n/a
26.12.2010, 16:53     Не корректное считывание текста (файл прямого доступа) #1
ЗДРАВСТВУЙТЕ!
Я, конечно, понимаю, что если криво запрограммировано, то и считывать будет криво. Прошу помочь мне найти кривизну кода.
Дабы не кидать всю прогу целиком, тем более, что она ещё и на 20% не сделана, вот часть, ответственная за считывание:
-----------------------
void fr() //читалка-печаталка
{
int i,l;
i=0;
char str[7];
char str2[7];
fseek(input,0,SEEK_END);
l=ftell(input);
printf("\n%d\n",l);
while(i<l)
{
fseek(input,i,SEEK_SET);
fread(s.im,sizeof(s.im),1,input);
fread(s.ei,sizeof(s.ei),1,input);
fread(str,sizeof(str),1,input);
fread(str2,sizeof(str2),1,input);
printf ("%s ",s.im);
printf ("%s ",s.ei);
s.year=atof(str);
s.year2=atof(str2);
if (i==0) printf("%.0f %.0f\n",s.year,s.year2);
else printf("%.1f %.1f\n",s.year,s.year2);
i+=sizeof(s.im)+sizeof(s.ei)+sizeof(str)+sizeof(str2);
}
}
----------------
а вот и структура, в элементы которой сейвятся значения
----------------
struct tab{
char im[15];
char ei[14];
float year;
float year2;
} s;
----------------
структура считываемого файла
[текст][текст2][число][число]

printf ("%s ",s.im); выводит
[текст]+[текст2], хотя должна [текст]. В чём кривость (ток не надо говорить, что в руках).

С уважением и надеждой на помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 16:53     Не корректное считывание текста (файл прямого доступа)
Посмотрите здесь:

C++ считывание текста
C++ Указатели в файлах прямого доступа
Таблицы прямого доступа в С++ C++
C++ Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->?
C++ Линейный список прямого доступа в связанной памяти
C++ Нечетные элементы массива отсортировать методом пузырька, а четные методом прямого доступа
C++ Корректное считывание csv

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

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

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