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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
#1

Ошибка записи в файл. :( - C++

26.03.2012, 22:13. Просмотров 531. Ответов 2
Метки нет (Все метки)

Доброго времени суток дорогие форумчане.
Решил написать программу которая считывает символы из одного файла ("C:\\1.txt") в массив (mass)? а уже из массива происходит запись в новый файл ("C:\\2.txt").

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
#include <iostream>
#include <stdlib.h>
//fprintf( PVPFILE, "%d", pvpin[i]); 
using namespace std;
 
void abc(){
        int i=0;  //кол-во символов в "C:\\1.txt"
        char mass[1]; //массив для записи символов из "C:\\1.txt"
        FILE *PVPFILE;
        
        PVPFILE = fopen("C:\\1.txt", "r");
        do{
        mass[i]=getc(PVPFILE);
        i++;
        char *mass = new char[i];
        }while(mass[i]==feof(PVPFILE));
        
        fclose(PVPFILE);
        
        FILE *NewFile;
        NewFile = fopen("C:\\2.txt", "w");
        
        for(int j=1;j<=i;j++){ putc(mass[j],NewFile);}
        
        fclose(NewFile);
 
}
 
int main(int argc, char *argv[])
{
  abc();
  system("PAUSE");  
  return 0;
}
Программа работает криво если в "C:\\1.txt"
Код
211111211
, то в "C:\\2.txt" пишет аж
Код

.

PS также принимаю другие решения это задачи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 22:13     Ошибка записи в файл. :(
Посмотрите здесь:
C++ Ошибка при записи в файл
C++ Ошибка при записи в файл
C++ Ошибка при записи в бинарный файл
C++ Ошибка записи в файл на рабочем столе
C++ Ошибка при записи данных в файл
C++ Ошибка записи в файл с использованием ifstream
C++ Ошибка при записи в файл через библиотеку io.h
Ошибка при записи или чтении в бинарный файл C++
Ошибка при записи в файл данных из обьекта класса C++
C++ Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах
C++ Записи, файл С++
Форматом записи в файл C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
26.03.2012, 22:34     Ошибка записи в файл. :( #2
у вас массив из одного символа, потом зачем то выделяете памяти и присваиваете, в итоге в масс у вас содержится мусор.

Добавлено через 45 секунд
Цитата Сообщение от cactus09 Посмотреть сообщение
C++
1
char mass[1]; //массив для записи символов из "C:\\1.txt"
C++
1
2
3
 mass[i]=getc(PVPFILE);
        i++;
        char *mass = new char[i];
вы в цикле делаете непонятно, что
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
26.03.2012, 22:39  [ТС]     Ошибка записи в файл. :( #3
panicwassano, Выделяю памяти для массива потому что не знаю сколько символов в C:\\1.txt . И помоему, если не ошибаюсь, то new сохроняет данные из массива. Да и вообще дело не в массиве, если я даже сделаю mass[10], то у меня в C:\\2.txt будет
Код
я.
Yandex
Объявления
26.03.2012, 22:39     Ошибка записи в файл. :(
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru