Вы можете использовать эту простую функцию:
#include <sys/stat.h>
#include <string>
using namespace std;
bool FileExists(string strFilename) {
struct stat stFileInfo;
bool blnReturn;
int intStat;
// Attempt to get the file attributes
intStat = stat(strFilename.c_str(),&stFileInfo);
if(intStat == 0) {
// We were able to get the file attributes
// so the file obviously exists.
blnReturn = true;
} else {
// We were not able to get the file attributes.
// This may mean that we don't have permission to
// access the folder which contains this file. If you
// need to do that level of checking, lookup the
// return values of stat which will give you
// more details on why stat failed.
blnReturn = false;
}
return(blnReturn);
}
Я предполагаю, что вы используете SaveFileDialogue класс.В этом случае вы можете обработать возвращаемый результат диалога следующим образом:
if ( saveFileDialog.ShowDialog() == ::DialogResult::OK ) {
if ( FileExist(saveFileDialog.FileName) ) {
// erase the file
}
// write the code using the Append function
}
Это должно работать, однако более простой вариант должен быть доступен, если вы используете что-то другое, кроме Append (что-то вроде Write или, возможно, даже Appendно с параметром, который указывает перезаписать файл)
HTH, JP