Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2012, 16:49   #11
_kilik_
Пользователь
 
Аватар для _kilik_
 
Регистрация: 16.08.2011
Сообщений: 69
По умолчанию

Вроде все почистил. Если не будет не будет компилируется скажите какая строка.
Код:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;

int main(){//помощь
	setlocale(LC_ALL,".1251");
	string fname;//имя файла
	cout<<"введите имя файла "<<endl;
	cin>>fname;
	fstream in(fname.c_str());//открыли для чтения 
	int size;//кол-во символов в тексте
	if (!in.is_open()){
		cout<<"невозможно открыть файл \n";
		return(-1);
	}
	in.seekg(0, ios::end);//в конец
	size = int(in.tellg());//текущая позиция(сколько симв от начала)
	in.seekg(0, ios::beg);//в начало файла 
	char * buff = new char [size];//создаем массив символв размером size
	memset(buff, 0, size);//заполняем buff
	in.read(buff, size);//читаем в buff от начала(in.seekg(0, ios::beg)) до buff+size
	in.close();//закрыли файл

	for (int i = 0; buff[i]!='\0' ; i++)
		if(buff[i] == 'а')
			buff[i] = 'о';
	cout<<"результат "<<buff<<endl;
	system("PAUSE");
	delete [] buff;//очистили память 
	return 0;
}

Последний раз редактировалось _kilik_; 29.01.2012 в 17:15.
_kilik_ вне форума Ответить с цитированием
Старый 29.01.2012, 16:53   #12
Killspamers
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 14
По умолчанию

Я вас задолбал уже наверное , но ошибка вот такая
Код:
1>Компиляция...
1>stdafx.cpp
1>Компиляция...
1>1.cpp
c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(12) : error C2664: std::basic_fstream<_Elem,_Traits>::basic_fstream(const char *,std::ios_base::openmode,int): невозможно преобразовать параметр 1 из 'std::string' в 'const char *'
1>        with
1>        [
1>            _Elem=char,
1>            _Traits=std::char_traits<char>
1>        ]
1>        Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
показывает на fstream in(fname);

Последний раз редактировалось Killspamers; 29.01.2012 в 16:57.
Killspamers вне форума Ответить с цитированием
Старый 29.01.2012, 17:06   #13
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

_kilik_

у fstream конструктор для std::string появился только в C++11

а пока:

fstream in(fname) => fstream in(fname.c_str())
Rififi вне форума Ответить с цитированием
Старый 29.01.2012, 17:08   #14
_kilik_
Пользователь
 
Аватар для _kilik_
 
Регистрация: 16.08.2011
Сообщений: 69
По умолчанию

Попробуйте так - fstream in(fname.c_str());
Если не получится используйте массив символов вместо string к примеру char fname[255];
Хотя только что проверил, у меня работает.
_kilik_ вне форума Ответить с цитированием
Старый 29.01.2012, 17:18   #15
Killspamers
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 14
По умолчанию

То что посоветовали подписал, но остальное не компилится, видать моя студия не подходит.
Код:
1>------ Построение начато: проект: 1, Конфигурация: Debug Win32 ------
1>Компиляция...
1>1.cpp
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(13) : error C2448: in: вероятно, инициализатор, использующий стиль функции, является определением функции
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(14) : error C2065: in: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(14) : error C2228: выражение слева от ".is_open" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(18) : error C2065: in: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(18) : error C2228: выражение слева от ".seekg" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(19) : error C2065: size: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(19) : error C2065: in: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(19) : error C2228: выражение слева от ".tellg" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(20) : error C2065: in: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(20) : error C2228: выражение слева от ".seekg" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(21) : error C2065: size: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(22) : error C2065: size: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(23) : error C2065: in: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(23) : error C2228: выражение слева от ".read" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(23) : error C2065: size: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(24) : error C2065: in: необъявленный идентификатор
1>c:\users\евгений\documents\visual studio 2008\projects\1\1\1.cpp(24) : error C2228: выражение слева от ".close" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>Журнал построения был сохранен в "file://c:\Users\Евгений\Documents\Visual Studio 2008\Projects\1\1\Debug\BuildLog.htm"
1>1 - ошибок 17, предупреждений 0

Последний раз редактировалось Killspamers; 29.01.2012 в 17:25.
Killspamers вне форума Ответить с цитированием
Старый 29.01.2012, 17:48   #16
_kilik_
Пользователь
 
Аватар для _kilik_
 
Регистрация: 16.08.2011
Сообщений: 69
По умолчанию

Попробуйте еще так, если не получится, то хз.
Код:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;

int main(){
	setlocale(LC_ALL,".1251");
	string fname;//имя файла
	cout<<"введите имя файла "<<endl;
	cin>>fname;
	fstream in(fname.c_str(),ios::in|ios::binary);//открыли для чтения 
	int size;//кол-во символов в тексте
	if (!in.is_open()){
		cout<<"невозможно открыть файл \n";
		return(-1);
	}
	in.seekg(0, ios::end);//в конец
	size = int(in.tellg())+1;//текущая позиция(сколько симв от начала)
	in.seekg(0, ios::beg);//в начало файла 
	char * buff = new char [size];//создаем массив символв размером size
	memset(buff, '\0', size);//заполняем buff
	in.read(buff, size);//читаем в buff от начала(in.seekg(0, ios::beg)) до buff+size
	in.close();//закрыли файл

	for (int i = 0; buff[i]!='\0' ; i++)
		if(buff[i] == 'а')
			buff[i] = 'о';
	cout<<"результат "<<buff<<endl;
	system("PAUSE");
	delete [] buff;//очистили память 
	return 0;
}
_kilik_ вне форума Ответить с цитированием
Старый 29.01.2012, 17:52   #17
Killspamers
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 14
По умолчанию

Во! работает!)) Спасибище)! поставьте кто-нибудь Kilik в репу ещё + я уже поставил раньше)
Killspamers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строками. tinton Помощь студентам 0 14.11.2011 18:31
C# Работа со строками Rikhard Общие вопросы C/C++ 1 08.12.2010 22:29
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Работа со строками (С/С++) 4ery Помощь студентам 3 24.12.2008 22:54
Работа с строками Technolog Microsoft Office Excel 2 17.12.2008 09:58