Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 20:06   #1
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
Сообщение Хранение текста в двоичном файле

Приступаю к написанию курсовой работы по программированию на языке Borland c++ 3.1 for DOS
Как вы думаете каким из трёх предложенных способов проще всего будет его выполнить.
И подскажите пожалуйста как примерно это всё должно осуществятся, то я что то вообще не могу понять как это выполнить.
Если можно подскажите сразу литературы по Borland c++ 3.1 for DOS
Изображения
Тип файла: jpg img282.jpg (38.8 Кб, 121 просмотров)
Nitrino вне форума Ответить с цитированием
Старый 19.05.2009, 20:15   #2
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

Наработок ещё нет так как не могу разобраться, помогите разобраться а дальше я сам буду побывать писать и буду задавать вопросы если будет что непонятно
Nitrino вне форума Ответить с цитированием
Старый 20.05.2009, 15:02   #3
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

Подскажите по чему не происходит считывание из файла?
Код:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>

//------------------------------------------------

void main (void)
{
char str[100];
char s[100];
clrscr();
FILE *fp;
int i;

fp = fopen("1.txt", "w+");
fprintf(fp,gets(s));
fscanf(fp,"%s",str);
for(i=0; i!='\0'; i++)
    printf("%c", str[i]);
fclose(fp);
getch();
}
Nitrino вне форума Ответить с цитированием
Старый 20.05.2009, 15:15   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
fprintf(fp,gets(s));
Не указываете, что пишете.
И указатель потом надо в начало файла перевести:

Код:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>

//------------------------------------------------

int main (void)
{
char str[100];
char s[100];
FILE *fp;
int i;

fp = fopen("1.txt", "w+");
gets(s);
fprintf(fp,"%s",s);
fseek(fp,0,SEEK_SET);
fscanf(fp,"%s",str);
puts(str);
fclose(fp);
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.05.2009, 16:27   #5
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

Подскажите как перевести курсор на следующую или указанную строку в файле?
Nitrino вне форума Ответить с цитированием
Старый 20.05.2009, 16:33   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Подскажите как перевести курсор на следующую или указанную строку в файле?
Смотрите пример выше.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.05.2009, 16:57   #7
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

я так понял что эта функция передвигает указатель на указанную позицию в данном случаи 0
Код:
fseek(fp,0,SEEK_SET);
Но как сдвинуть указатель на следующую строку и даже когда я пытаюсь сдвинуть указатель на несколько позиций она заполняет указанное число позиций непонятными знаками и пишет указанный текст, если не трудно разъясните это момент
Код:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>

//------------------------------------------------

void main (void)
{
clrscr();
char str[100];
char s[100];
FILE *fp;
int i;

fp = fopen("1.txt", "w+t");
gets(s);
fprintf(fp,"%s",s);
fseek(fp,0,SEEK_SET);
fscanf(fp,"%s",str);
puts(str);
fclose(fp);
fp = fopen("1.txt", "w+t");
gets(s);
fseek(fp,5,SEEK_SET);
fprintf(fp,"%s",s);
getch();
}
В этом коде например хочу начать запись с пятой позиции
Nitrino вне форума Ответить с цитированием
Старый 20.05.2009, 17:01   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Так вы же перезаписываете файл.
Во второй раз открывайте его на чтение+:
Код:
fp = fopen("1.txt", "r+t");
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.05.2009, 17:32   #9
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

А что указать что бы переход осуществлялся не на позицию а на строку?
Nitrino вне форума Ответить с цитированием
Старый 20.05.2009, 17:38   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
А что указать что бы переход осуществлялся не на позицию а на строку?
А откуда программе или файлу знать, где начинается новая строка? Для программы файл - набор символов, байтов.
Считывайте его построчно и увеличивайте счетчик.
Или ищите символ перевода строки.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Десятичные дроби в двоичном виде Ukrajinec Помощь студентам 2 13.04.2009 11:29
хранение данных в файле (dc++) AsabeasT Общие вопросы Delphi 2 27.03.2009 11:57
Поиск определённого текста в текстовом файле vitawt Общие вопросы Delphi 4 20.01.2008 22:12
Как правильно сохранить настройки текста в ini файле KORN Общие вопросы Delphi 2 30.10.2007 09:14
Поиск и замена текста в файле VAbramyak Общие вопросы Delphi 3 04.04.2007 20:20