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

Работа с файлами (консольный текстовый редактор) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.75
Мысщъ
 Аватар для Мысщъ
0 / 0 / 0
Регистрация: 25.02.2007
Сообщений: 37
08.07.2008, 19:31     Работа с файлами (консольный текстовый редактор) #1
Собственно это будет не вопрос какой-то конкретный, а скорее хочу просто посоветоваться. На данный момент оно умеет только открывать файл (если нету - создает), да дописывать в конец файла дополнения. причем выглядит довольно по-индейски:
Код
// trd.cpp : Defines the entry point for the console application.
// открытие файла на дозапись. данные, уже записанные в файл изменять нельзя
// в принципе оно работает
// надо сделать так, что бы уже введенные данные можно было редактировать

#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>

using namespace std;

int main()
{
	char ch;
	char file_name[40];
	string content, dummie;

	cout << "Input filename\n";
	cin.get(file_name,40); // получаем имя файла
	getline(cin,dummie); //чистим cin, что бы следующий getline нормально работал

	ifstream infile(file_name); //создаем файловый объект для вывода данных.
	/*я знаю, что это индуизм! но если вы такие апупеть умные, то скажите, как сбросить
	file.eof() в ноль, а?*/

	/*while(!infile.eof())
	{
		infile.get(ch);
		cout << ch;
	}*/

	infile >> dummie; //выводим уже записанные данные на экран
	cout << dummie;

	getline(cin,content); // ввод новых данных в память

	ofstream outfile(file_name); // создаем файловый объект для дозаписи

	outfile << dummie << content; // и записываем

	return 0;
}
я знаю, что создавать для такой цели два объекта - бред, но иначе для записи нужно, по видимому, сбросить file.eof() в ноль (я сначала вывожу уже записанные данные по циклу while(!file.eof()), а как это сделать я не знаю
и еще тогда - как можно сделать так, что бы можно было редактировать уже записанные в файл данные? cin.putback мне ничем не помог в этом разрезе
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2008, 19:31     Работа с файлами (консольный текстовый редактор)
Посмотрите здесь:

C++ Текстовый редактор - программа выдает предупреждения
C++ Текстовый редактор
Текстовый редактор. Зашифровать текст. C++
C++ Простой текстовый редактор
Комментарии к листингу (калькулятор, текстовый редактор) C++
C++ работа с файлами(как написать программу добавления в текстовый файл после какой-то определённой буквы одного пробела?)
Текстовый редактор C++
C++ Написаить простой консольный редактор текстовых файлов
Простейший текстовый редактор в консоли C++
C++ Текстовый редактор с шифрованием актуально ли?
C++ Программа текстовый редактор в командной строке
C++ Работа с файлами: вывод-ввод результатов программы в текстовый файл

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
09.07.2008, 00:49     Работа с файлами (консольный текстовый редактор) #2
Ну это круто... чтобы редактировать файл тебе нужно создавать буфер, реализовать управление курсором, реализовать правильную работу клавиш с этим буфером, который ты будешь выводить и т. д..
можно скачать сорцы vim'а и посмотреть, как реализовано там (http://www.vim.org/sources.php). Благо коментов там, как в и должно быть в идеале.
Yandex
Объявления
09.07.2008, 00:49     Работа с файлами (консольный текстовый редактор)
Ответ Создать тему
Опции темы

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