Я создаю программу для копирования текстового файла. У меня есть файл main.cpp, который читает текстовый файл, заданный массивом filenamein, а затем выводит копию текстового файла, заданного массивом filenameout. у меня есть эта функция объявлена в моем FileUtilities.h как
bool textFileCopy(char filenamein[], char filenameout[]);
Тогда FileUtilities.cpp содержит
#include <iostream>
#include <fstream>
#include <string>
#include "FileUtilities.h"
bool FileUtilities::textFileCopy(char filenamein[], char filenameout[])
{
ifstream fin(filenamein);
if(fin.is_open())
{
ofstream fout(filenameout);
char c;
while(fin.good())
{
fin.get(c);
fout << c;
}
fout.close();
fin.close();
return true;
}
return false;
}
Когда я компилирую это, я получаю ошибку подтверждения Visual C. Я получаю диалоговое окно под названием «Библиотека отладки Microsoft Visual C ++», которое содержит следующее:
"Ошибка отладочного подтверждения!
Программа: ..... Parser.exe
файл f: \ dd \ vctools \ crt_bld \ Self_x86 \ crt \ src \ fopen.c
Строка 53
Выражение: (file! = NULL) "
Эта ошибка дает мне 3 варианта: Прервать, Повторить или Пропустить.
Прервать просто останавливает отладку. Retry выводит сообщение в Visual Studio, в котором говорится, что «program.exe вызвал точку останова». Если я нажму кнопку «Разорвать», Visual Studio откроет файл с именем «fopen.c» и укажет на строку 54 в этом файле.
Если я продолжу с этого момента, Visual Studio откроет другой файл с именем "dbghook.c" с указателем на строку 62.