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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2011, 23:20   #1
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию Пример работы в stl со строками

Можете привести пример рабочий следующей программы.
Строка считывается из файла. Записывается в любой контейнер(вектор, стек и т.д.). Строка представляет вид слова, разделенные символом "=", строка закачивается ";" , а предложение ".". Сделать нужно чтобы вводя символ с клавиатуры, менялся символ стоящий перед символом "=".
ArniLand вне форума Ответить с цитированием
Старый 29.06.2011, 23:59   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

считывание всего файла в память, сохранение в вектор строк
Код:
string a;
vector <string> b;
while(!input.eof())
{
    getline(input,a,'\n');
    b.puch_back(a);
}
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 30.06.2011, 08:49   #3
Nedward
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 85
По умолчанию

Я думаю это должно выглядеть как-то так
Код:
#include <fstream>
#include <iostream>
#include <vector>
#include <locale>
#include <string>

using namespace std;

int main()
{
	setlocale(LC_ALL,"Russian");
	std::ifstream f("d:\\abc\\a.txt");
	string s;
	vector <string> strings; //наш массив строк
	while(!f.eof()) //читаем все строки из файла
	{
		f >> s;
		strings.push_back(s);
	}
	//выводим все прочитанные строки
	cout << "Мы получили строки:" << endl;
	for(vector <string>::iterator i=strings.begin();i!=strings.end();i++)
		cout << *i << endl;
	//запрашиваем символ, на который нужно будет менять все символы перед "="
	cout << "Введите символ" << endl;
	char c;
	cin >> c;
	//перебираем все строки
	for(vector <string>::iterator i=strings.begin();i!=strings.end();i++)
	{
		//ищем в строках символ "="
		int n = (*i).find("=");
		while (n!=string::npos)
		{
			//заменяем на введенный
			(*i)[n-1]=c;
			n = (*i).find_first_of("=",n+1);
		}
	}
	//Снова выводим все строки для проверки
	cout << "Строки после обработки:" << endl;
	for(vector <string>::iterator i=strings.begin();i!=strings.end();i++)
		cout << *i << endl;
	return 0;
}
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding
Nedward вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу пример работы с TRichView Лойсо Компоненты Delphi 12 02.02.2018 10:45
Пример работы с TThread Shouldercannon Общие вопросы Delphi 2 12.07.2010 16:47
Объясните пример работы с файлами. spamer Общие вопросы C/C++ 6 04.06.2009 01:55
Киньте пример работы с типом CHAR zotox Помощь студентам 6 05.05.2009 16:37
Связка TidHttp и TidCompressorZLibEx, нужен пример работы ilich7 Работа с сетью в Delphi 2 25.09.2008 15:11