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

Уверенное создание файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Количество слов, начинающихся и заканчивающихся одной буквой http://www.cyberforum.ru/cpp-beginners/thread726068.html
#include <conio.h> #include <string.h> #include <iostream.h> #pragma argsused int main() { char s; int i,k=0,n=0,a,j=0; cin.getline(s,sizeof(s)-1); for (i=0;i<strlen(s);i++) {
C++ Составить диаграмму класса Всем доброго времени суток! Написал программу на С++, препод требует составить диаграмму класса. Я знать не знаю, что это такое. Может быть кто-нибудь сможет помочь? Моя программа: #include<iostream> #include<iomanip> #include<conio.h> using namespace std; void Random(); void klav(double L); class Letatelniy_Apparat{ public: http://www.cyberforum.ru/cpp-beginners/thread726059.html
Двумерный массив: определить количество столбцов, содержащих хотя бы один отрицательный элемент. C++
Работа с двумерным динамическим массивом. Для целочисленного двумерного массива (размерность массива задаётся пользователем), разработайте функцию, которая определяет количество столбцов, содержащих хотя бы один отрицательный элемент. Вычисления должны выполняться в отдельной функции.
C++ Одномерный массив: найти количество элементов массива, меньших С
Работа с линейным динамическим массивом. В одномерном массиве, состоящем из n вещественных элементов (размерность массива задаётся пользователем), найдите количество элементов массива, меньших С. При разработке кода для перебора элементов массива использовать не индекс массива, а указатель на элемент массива. Вычисления должны выполняться в отдельной функции.
C++ BOOST_FOREACH на STL http://www.cyberforum.ru/cpp-beginners/thread726027.html
подскажите как переписать такую конструкцию на STL std::map<IObserver* const, IObserver* const> _observers; typedef std::map<IObserver* const, IObserver* const>::value_type item; ... BOOST_FOREACH(item iter, _observers) { iter.second->handleEvent(*this); }
C++ Создание типов линий Здравствуйте, необходима помощь по такому вопросу: Нужно создать восемь типов линий с последующим их применением к стандартным фигурам (Rectangle, Ellipse, polyline, duga), ну то бишь использовать их как стандартные (типа psSolid,psDash и т.д.). В папке находятся материалы,с помощью которых я пытался реализовать поставленную задачу, полное задание курсовой (если я некорректно объяснил). ... подробнее

Показать сообщение отдельно
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
10.12.2012, 13:57     Уверенное создание файла
Допустим, я создаю файл и сразу же проверяю его наличие. Возможна ли ситуация, когда файл не успеет записаться? Если же такой казус возможен хотя бы чисто гипотетически, то как его гарантированно избежать?

C++
1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
const char* fname = "c:\\work\\test.txt";
FILE *file;
char* line = "Test 0\n";
for (int i=0; i<10; ++i) {
file = fopen(fname, "w");
fputs(line, file);
++(line[5]);
fclose(file);
do {;} while ( ::GetFileAttributesA(fname) == DWORD(-1) );
}
Смысл программы в том, что она пишет файл и ждёт, когда некая внешняя сила (пользователь, другая прога) его сотрёт. Прогу не проверял, честно говоря, потому что она носит чисто демонстрационный характер. Мне важно знать, нужно ли что-то делать между fclose и циклом do-while? Если дисковые операции строго последовательны, то ответ однозначно - нет. Но я в этом не уверен, Windows же многозадачная система. Или она достаточно разумна?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru