Почему информация не записывается в файл при больших объемах текста?

программирование С++

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>

using namespace std;

int main()
{
setlocale (0,"");
using namespace std;
char * buffer;
long lSize;

FILE * pFile0 = fopen ("myfile0.txt" , "r" );
if (pFile0==NULL)
{fputs ("Ошибка!",stderr); exit (1);}

// определяем размер файла
fseek (pFile0 , 0 , SEEK_END);
lSize = ftell (pFile0);
rewind (pFile0);
// выделяем память под буфер
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL)
{fputs ("Ошибка выделения памяти",stderr); exit (2);}
if(pFile0 != NULL)
{
fgets(buffer,lSize+1,pFile0);
cout << buffer;
char p[] = "p";
for (int i = 0; buffer[i] != '\0'; i++)
if (strchr(p,buffer[i]) != NULL)
{
for (int t = strlen(buffer); t >= i; t--)
buffer[t+1] = buffer[t];
buffer[i+1] = ' ';
}
cout << endl << buffer;
}
else
{
printf("Ошибка открытия файла для чтения\n");
return 0;
}
if(fclose(pFile0))
printf("Ошибка при закрытии файла\n");

FILE * pFile1 = fopen("myfile1.txt","w");
if(pFile1 != NULL)
fputs(buffer,pFile1);
else
printf("Ошибка открытия файла для записи\n");
if(fclose(pFile1))
printf("Ошибка при закрытии файла.\n");
cout << "\nПроцесс выполнен!\n";
system("pause");
return 0;
}
Ответы:
Какая исходная задача? Где появляется ошибка? На каком операторе? Какие входные данные? fopen ("myfile0.txt" , "r" ) - какой размер файла?
Неужели так сложно сформировать корректный вопрос?
Правильно поставленный вопрос - половина ответа...


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.