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

Исправить некорректность записи в файл - C++

Восстановить пароль Регистрация
 
Reiderian
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 44
30.05.2014, 19:02     Исправить некорректность записи в файл #1
Добрый день,помогите наладить программу. Программа должна считать слово из файла, и скопировать его в другой файл начиная с 5 позиции. Вот код:
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
#include "stdafx.h"
#include <stdio.h> 
#include <iostream> 
#pragma warning (disable: 4996)
char sPI[] = "\nvhodoi file:";
char sEI[] = "Oshibka otkritiya";
char sPO[] = "\nvihodnoi file";
char sEO[] = "\noshibka sozdaniya";
void main(){
    FILE *InpFile, /* входной файл*/
           *OutFile; /* выходной файл*/
    char f_name[30]; /* имя файла*/
    
    /* открытия входного файла*/
    printf("%s", sPI);
    gets_s(f_name);
    while (!(InpFile = fopen(f_name, "rt"))){
        printf("%s%s", sEI, sPI);
        gets_s(f_name);
    }
    /* открытия выходного файла*/
    printf("%s", sPO);
    gets_s(f_name);
    while (!(OutFile = fopen(f_name, "wt"))){
        printf("%s%s", sEO, sPO);
        gets_s(f_name);
    }
    /* обработка*/
       int c;
       int pos = 5; // позиция откуда начинается копирование
       while ((c = getc(InpFile)) != EOF)
        if (c != '\0')  putc(pos+c, OutFile);
        /* закрытие файлов*/
        fclose(InpFile);
        fclose(OutFile);
    }/* main */
Не знаю куда привинтить переменную pos ( позиция). Программа копирует с 5 позиции, но дописывает в конец еще рандомные символы и криво работает с длинной строкой и плохо реагирует на пробелы в исходной строке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2014, 19:02     Исправить некорректность записи в файл
Посмотрите здесь:

C++ Помогите исправить программу запись в файл
C++ Нарушение прав доступа при записи. Висящий указатель нашел, но не знаю как исправить ситуацию
Некорректность работы программы при считывании текстовых данных с файла C++
C++ Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах
Нежелательное добавление информации в файл, исправить код C++
Вывод структуры в файл. Исправить ошибки в коде C++
C++ Добавление записей в файл. (Исправить ошибку)
C++ Найти максимальную цифру в записи числа на С++ (исправить условие цикла)

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

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

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