Меня смущает странная проблема. Когда я делаю что-то вроде ниже:
FILE* fl;
int* d = new int[3];
d[0] = -3;
d[1] = -3;
d[2] = -3;
plik = fopen("E:\data.txt","r+b");
fwrite((char*)d, sizeof(int), sizeof(int)*3, fl);
fclose(fl);
system("pause");
Он правильно записывает некоторые данные в файл, который я могу очистить в блокноте и получить размер файла 0B. Но если я изменю -3 на -2:
FILE* fl;
int* d = new int[3];
d[0] = -2;
d[1] = -2;
d[2] = -2;
plik = fopen("E:\data.txt","r+b");
fwrite((char*)d, sizeof(int), sizeof(int)*3,fl);
fclose(fl);
system("pause");
в результате, когда я очищаю данные в Блокноте и сохраняю файл, он всегда имеет 2B и не может быть очищен до конца. В чем проблема?. Заранее спасибо.
fwrite,fcloseи т. д. - это не C++, а C. Соответственно отредактировал ваш вопрос. - person Max Truxa   schedule 06.12.2013"E:\\data.txt". В противном случае вы можете не открыть правильный файл для записи. - person timrau   schedule 06.12.2013new[]- это C++, а не C. - person timrau   schedule 06.12.2013