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

поиск в файле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread809407.html
Написать самостоятельно программу для вычисления выражения для своего варианта: w=2bccos(a/2)/(b+c) #include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; int main() { int w, a,b,c;
C++ Число сочетаний из n по k Машинно ориентированное программирование.вычислить число сочетаний из н по к http://www.cyberforum.ru/cpp-beginners/thread809399.html
C++ long long r char[] __int64
Добрый день возник следующий вопрос: мне требуется преобразовать тип long long в char, при этом код должен быть переносимым (т.е. мне надо чтобы программа заработала и под Visual Studio и на UNIX с gcc компилятором). Какими функциями можно воспользоваться? Если sprintf то какой спецификатор универсален для различных компиляторов?
Разработать программу,позволяющую вводить данные с клавиатуры и выводить их на экран с простейшим форматированием C++
Помогите, пожалуйста, с программой. В задание сказано: разработать программу,позволяющую вводить данные с клавиатуры и выводить их на экран с простейшим форматированием. Входные данные:6 полных фамилий, имён, отчеств. Выходные данные: Три столбца:имя,отчество,фамилия. у меня получилась программа, но как мне сделать так чтобы в строке больше 3 слов (ФИО) не писалось, и при этом он не считывал ее...
C++ перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread809371.html
Напишите программу, в которой используется класс Int, имитирующий стандартный класс Int. Перегрузите четыре целочисленных арифметических операции /, +, -, *. Так чтобы их можно было использовать для операций с объектами класса Int. Если результат выходит за границы типа int (в 32 разрядной системе) имеющие значение от -2 147 483 648 до 2 147 483 648, то операция должна послать сообщение об...
C++ fopen и fdopen Помогите, пожалуйста, разобраться. Есть код скрипта, выводит картинку в браузере, скачал с инета: // Результат работы скрипта - оторбажение картинки. #include <stdio.h> // Возвращает размер открытого файла. long filesize(FILE *f) { long pos, size; pos = ftell(f); fseek(f, 0, 2); подробнее

Показать сообщение отдельно
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
15.03.2013, 21:19     поиск в файле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
 
using namespace std;
 
const char file_name_in[] = "c:\\1.txt" ;
const char file_name_out[] = "c:\\2.txt" ;
 
int main(){
 
    string str_all, str_tmp, str_fnd; // вся строка, временная переменная, искомое слово
    ifstream f_in;
    ofstream f_out;
 
    f_in.open(file_name_in);
    f_out.open (file_name_out);
 
    f_in >> str_fnd;
 
    while (!f_in.eof())        
    {
        f_in >> str_tmp;
        if (str_tmp[str_tmp.length() - 1] != ' ') // добавляем пробелы так как считывание идёт до пробела , а не до конца строки
            str_tmp += ' ';
        str_all += str_tmp;
    }
    cout << str_all <<endl;
 
    auto i_ptr = str_all.find(str_fnd); // цифровой индекс первого искомого слова
    auto i_ptr_beg = find(str_all.begin() + i_ptr, str_all.end(), ' ') + 1; // итератор на начало заменяещего (указывает на первый символ)
    auto i_ptr_end = find( i_ptr_beg, str_all.end() , ' ')  ;  // итератор на конец заменяещего (указывает на пробел)
    copy(i_ptr_beg,  i_ptr_end, str_tmp.begin());
 
    copy(i_ptr_beg,  i_ptr_end, str_all.begin() + i_ptr); // тут я расчитывал что всё поместится так как подстроки равны
    // если у вас подстроки не равны напишите мне или сами исправте этот кусок кода
 
    cout << str_all << endl;
 
    str_tmp.resize (i_ptr_end._Ptr - i_ptr_beg._Ptr + 1); // место выделяем сами так как копирование слепое
    copy(i_ptr_beg,  i_ptr_end, str_tmp.begin());
    
    f_out << str_tmp;
 
    f_in.close();
    f_out.close(); // будем хорошими программистами
 
 
    return 0;
}
Добавлено через 53 секунды
Kr, надеюсь перелопатить под себя сможете
 
Текущее время: 12:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru