Форум программистов, компьютерный форум, киберфорум
Наши страницы

Не записывает в файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Движение объектов http://www.cyberforum.ru/cpp-beginners/thread1042005.html
Здравствуйте друзья, мне нужна помощь в написании программы C++ Нужно сделать объект, который будет двигаться по экрану: Движение под углом 45 градусов с отражением от границ экрана. Начальные...
C++ Работа с подстрокой Добрый день! Помогите решить такую задачу: В данном тексте найти все слова, содержащие заданную подстроку s. Начало написал, а дальше не знаю((( #include <iostream> using namespace std; int... http://www.cyberforum.ru/cpp-beginners/thread1042004.html
перевести задачи с Паскаля на С++ C++
Ребят пожалуйста помогите перевести задачи с Паскаля на С++ Задание 5 Program z5; User Crt const n=5; Var a :Array Of integer; b: Array Of real; i,j,s:integer;
C++ Матрицы. Упорядочите строки по возрастанию методом сортировки выбором
С добрым утром, форумчане!задали сделать контрольную на C++, который не знаком мне.Вот сижу изучаю уже который день(Вот задание Дан двумерный массив А(M, M) в виде квадратной матрицы. Упорядочите...
C++ Ссылка на неразрешенный внешний символ LNK2019 http://www.cyberforum.ru/cpp-beginners/thread1041990.html
Задание простое: определить класс, а в нем приватные данные и пару простых методов. Заголовочный файл: #include <string> using std::string; class acct { private:
C++ Создать программу выводящую симметричную матрицу на экран Помогите пожалуйста ! подробнее

Показать сообщение отдельно
dima55501
30 / 34 / 6
Регистрация: 14.07.2013
Сообщений: 146

Не записывает в файл - C++

15.12.2013, 11:28. Просмотров 311. Ответов 4
Метки (Все метки)

Доброго времени суток. Написал код, который должен открывать файл, находить в нем определенный символ и заменять его на другой. Все работает кроме перезаписи файла. В чем может быть проблема?
Код
#include <iostream>
#include <fstream>
#include <Windows.h>

using namespace std;

int main()
{
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	char buf[1024];
	char name[64];
	char oldSymb, newSymb;
	int ctr = 0;
	cout << "Введите название файла: ";
	cin.get(name, 64);
	cout << "Введите символ, который надо заменить: ";
	cin >> oldSymb;
	cout << "Введите символ, которым нужно заменить: ";
	cin >> newSymb;
	fstream file(name, ios::binary | ios::in | ios::out);
	if (!file)
	{
		cout << "Ошибка во время открытия файла. " << endl;
		system("pause");
		return 1;
	}
	file.read((char *) &buf, sizeof(buf));
	for (int i = 0; i < file.gcount(); i++) //вывожу содержимое начального файла на экран для проверки
	{
		cout << buf[i];
	}
	for (int i = 0; i < file.gcount(); i++) //заменяю символы
	{
		if (buf[i] == oldSymb)
		{
			buf[i] = newSymb;
		}
	}
	cout << endl;
	for (int i = 0; i < file.gcount(); i++) //вывожу содержимое нового файла на экран для проверки
	{
		cout << buf[i];
	}
	file.write((char *) &buf, sizeof(buf));
	file.close();
	system("pause");
	return 0;
}
Перед file.write пробовал ставить указатель на начало файла с помощью seekp, но результата это не дало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru