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

fopen() - открыть с дозаписью - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где в этом коде ошибка.голову ламаю, не могу найти? http://www.cyberforum.ru/cpp-beginners/thread1022235.html
#include<conio.h> #include<iostream.h> #include<fstream.h> #include<stdio.h> #define i 10 { int x; char group;
C++ Как обойти рекурсию? double f(x) { return sin(x) + f(sin(x)); } можно ли сделать без этого как-нибудь? http://www.cyberforum.ru/cpp-beginners/thread1022227.html
Дана матрица размера 4х9. Обнулить столбец матрицы, содержащий ее максимальный элемент C++
Дана матрица размера 4х9. Обнулить столбец матрицы, содержащий ее максимальный элемент.
Лишний раз выводит сообщение C++
Добрый вечер. Уже час бьюсь над следующей проблемой. Почему выводится сообщение: "Oshibka! Poprobuyte snova: Oshibka! Poprobuyte snova: ", вместо: "Oshibka! Poprobuyte snova: " ??? #include <iostream> #include <conio.h>
C++ Помгите найти - сумму отрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1022200.html
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void float1(double *mass, int const n); void float2(double *mass, int const n);
C++ Где ошибка? #include<conio.h> #include<iostream.h> #include<fstream.h> #include<stdio.h> #define i 10 int x; char group; подробнее

Показать сообщение отдельно
qANGELp
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 9

fopen() - открыть с дозаписью - C++

28.11.2013, 20:09. Просмотров 1410. Ответов 3
Метки (Все метки)

Здравствуйте, извините за нубовский вопрос. у меня следующая проблема:
Есть бинарный файл. в процессе работы с ним нужно по всему ему бегать и что-то писать, что-то читать.
Файл можно открыть с ключиками
"r" Открывает текстовый файл для чтения
"w" Создает текстовый файл для записи
"a" Дописывает в текстовый файл
"rb" Открывает двоичный файл для чтения
"wb" Создает двоичный файл для записи
"ab" Дописывает в двоичный файл
"r+" Открывает текстовый файл для чтения и записи
"w+" Создает текстовый файл для чтения и записи
"a+" Открывает текстовый файл для чтения и записи
"rb+" или "r+b" Открывает двоичный файл для чтения и записи
"wb+" или "w+b" Создает двоичный файл для чтения и записи
"ab+" или "a+b" Открывает двоичный файл для чтения и записи
Логически подумав я принял решение что из этого всего мне подходит "ab+" или "a+b".
для позиционирования по файлу использую fseek(). Но вот в чем беда.

Код
//pos - позиция для чтения/записи
//Val - переменная для чтения/записи


fseek(fs, pos , SEEK_SET); //устанавливаем курсор в нужную позицию
fread(&Val, 1, 1, fs);         //Читаем текущее значение
...
fseek(fs, pos , SEEK_SET); //устанавливаем курсор в нужную позицию
fwrite(&Val, 1, 1, fs);        //Записываем данные
Вышеприведенный код записывает данные не в позицию, которую я указал, а в конец файла, в то время как мне нужно, чтоб в указную.

Как можно заставить писать в указанную позицию?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru