Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
11 / 11 / 2
Регистрация: 21.04.2010
Сообщений: 104
1

fseek как правильно использовать

15.12.2010, 21:22. Показов 550. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
хочу перевернуть все символы в документе без использования памяти (массива, вектора), да и размеры кода уменьшить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#define _CRT_SECURE_NO_DEPRECATE // для подавления замечаний Майкрософт по поводу небезопасности функций fopen
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
 
int main() {
 
    setlocale(LC_ALL, "Russian");
    
    printf("Введите имя файла: ");
    char s[200];
    scanf("%199s", s, 200);
 
    FILE *f1; // заводим указатель на структуру (блок памяти) со служебной информацией о файле
    f1 = fopen( s, "rt" ); // "открываем" файл с именем s на чтение (r) в текстовом режиме (t)
    // fopen возвращает указатель на созданную структуру с информацией о файле
    // если файл не "открылся", fopen возвращает NULL
    if( f1 == NULL ) {
        printf( "Не могу открыть %s на чтение.\n", s );
        return -1;
    }
 
    FILE *f2;
    f2 = fopen( "newfile.txt", "wb+" );
    if( f2 == NULL ) {
        printf( "Не могу открыть \"newfile.txt\" на запись.\n" );
        return -2;
    }
    
    printf("Обрабатывается %s...\n", s);
    int c;
    c = fgetc(f1); // считыаем первый символ    
    while( feof(f1)==0 )  
    {
        fseek(f2, 0, SEEK_SET);//ставим указатель в начало документа!!!!!!!
        fputc( c, f2 ); // записываем символ
        c = fgetc(f1);  // считыаем символ
    }
    
    _fcloseall();
    printf( "Готово. См. \"newfile.txt\".\n" );
    _getch();
}
C++
1
fseek(f2, 0, SEEK_SET);//ставим указатель в начало документа
- вот здесь проблема, почему стираются символы и записывается только последний

Добавлено через 51 минуту
upupup
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2010, 21:22
Ответы с готовыми решениями:

Как правильно передать указатель на структуру, и правильно ее использовать
Я планирую сделать сортировку, но компилятор начал ругаться &quot;Нет существует подходящей функции...

Как использовать правильно потоки
У меня есть нечто рода void DiscordJob::SendMessageThread(const char *chanel, const char...

Как правильно использовать thread?
Не могу понять как удалить поток thread во время его выполнения. То есть у меня есть поток в...

Как правильно использовать цикл?
Задача с экспонентами. Нужно найти следующее:...

0
15.12.2010, 21:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2010, 21:22
Помогаю со студенческими работами здесь

Как правильно использовать потоки?
Тему про потоки прочёл. Так же ознакомился с классом mutex. И вот есть некий вопрос: как правильно...

Как правильно использовать cin.get?
cin.get и cin.getline - одно и то же? Мне нужно задание полностью с указателями сделать, но я не...

Как правильно использовать struct?
Написал небольшую, глупенькую программку, но столкнулся с проблемой заполнения структуры. Если...

Как правильно использовать map?
Свой код писал по примеру cut. Вот, что есть, и показываю скрин екхепшана, который...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru