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

не могу разобраться с синтаксисом - C++

Восстановить пароль Регистрация
 
alekshom19
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
23.11.2011, 21:47     не могу разобраться с синтаксисом #1
известен код программы, но не могу разобраться что к чему. если не трудно объясните что означает каждая строчка. заранее спасибо.

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
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
        string fileName;
        cout << "Enter the file name you want to open: ";
        cin >> fileName;
        ifstream input(fileName.c_str());
        string outFileName;
        cout << "Enter file in which to write data: ";
        cin >> outFileName;
        ofstream output(outFileName.c_str());
        string buf;
        string findStr;
        cout << "Enter string want to search: ";
        cin >> findStr;
        
        while (getline(input, buf, '\n'))
                if (buf.find(findStr) != string::npos)
                        output << buf << endl;
        input.close();
        output.close();
        system("pause");
        return EXIT_SUCCESS;    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2011, 21:47     не могу разобраться с синтаксисом
Посмотрите здесь:

C++ не могу разобраться
C++ Не могу разобраться в С++
C++ не могу разобраться
Указатели и ссылки. Помогите разобраться с синтаксисом C++
C++ не могу разобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
23.11.2011, 23:56     не могу разобраться с синтаксисом #2
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
#include <iostream> //подключаем файл для работы соut
#include <fstream>//подключаем файл для работы с файлами
#include <string>// для работы с типом string
 
using namespace std;//включаем пространство имён для cin/cout
 
int main()// главная функция программы
{
        string fileName;// обьявляем переменную типа string
        cout << "Enter the file name you want to open: "; // запрос на ввод
        cin >> fileName; // ввод переменной
        ifstream input(fileName.c_str()); //из переменной считываем имя входного файла
        string outFileName; // тоже переменная типа стринг
        cout << "Enter file in which to write data: ";// запрос на ввод
        cin >> outFileName;// тоже ввод переменной
        ofstream output(outFileName.c_str()); //из переменной считываем имя выходного файла
        string buf;// переменная
        string findStr;// переменная
        cout << "Enter string want to search: ";// запрос на ввод
        cin >> findStr; // ввод переменной
        
        while (getline(input, buf, '\n')) // начало цикла с пред-условием
                if (buf.find(findStr) != string::npos) // проверка условия
                        output << buf << endl; // если условие выполняется, то выполняем это действие
        input.close();  // закрываем входной файл
        output.close();// закрываем выходной файл
        system("pause"); // задержка на экране, нужно нажать любую клавишу
        return EXIT_SUCCESS;    // возврат значения функцией об успешном/неуспешном завершении работы
}
alekshom19
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 6
24.11.2011, 06:38  [ТС]     не могу разобраться с синтаксисом #3
спасибо, а можно по подробне
C++
1
2
3
while (getline(input, buf, '\n')) 
                if (buf.find(findStr) != string::npos) 
                        output << buf << endl;
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.11.2011, 11:06     не могу разобраться с синтаксисом #4
alekshom19, C++ изучать надо.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
24.11.2011, 22:45     не могу разобраться с синтаксисом #5
C++
1
2
3
while (getline(input, buf, '\n')) 
                if (buf.find(findStr) != string::npos) 
                        output << buf << endl;
while пока условие в скобках будет истинно? , а именно, введённый символ не будет равен \n(Конец строки)
будет выполняться if, а именно пока не найдена определённая позиция символа, и если не найдена, то будет вывод buf

Добавлено через 51 секунду
Цитата Сообщение от xAtom Посмотреть сообщение
alekshom19, C++ изучать надо.
Полностью согласен. На этом примере далеко не уедешь в изучении
Yandex
Объявления
24.11.2011, 22:45     не могу разобраться с синтаксисом
Ответ Создать тему
Опции темы

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