본문 바로가기

C++

파일입출력, 파일에서 원하는 단어를 검색하는 프로그램(find)

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
// WORD SEARCH WITH VECTOR
 
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <iomanip>
 
using namespace std;
 
// fin에서 라인단위로 vector에 넣는다
void fileRead(ifstream& fin, vector<string>& v)
{
    string line;
 
    while (getline(fin, line))
        v.push_back(line);
}
 
// 벡터에서 word를 찾아서 출력한다
void search(vector<string>& v, string& word)
{
    for (int i = 0; i < v.size(); i++) {
        int index = v[i].find(word);
        if (index != -1)
            cout << "line " << setw(3<< i+1 << " : " << v[i] << endl;
    }
}
 
int main()
{
    vector<string> v;
    ifstream fin("C:\\Users\\강병익\\documents\\visual studio 2015\\Projects\\Coursera_CCPP\\Coursera_CCPP\\22_wordSearch.cpp");
    if (!fin) {
        cout << "에러 입력파일";
        return 0;
    }
 
    fileRead(fin, v);
    string word;
    cout << "enter word to search : ";
    cin >> word;
    search(v, word);
}
cs

UNIX의 find와 같은 명령입니다. 파일에서 문자열을 검색하여 출력합니다.

    while (getline(fin, line))
        v.push_back(line);

는 외워두는게 좋겠네요... 

beeeye dmu

 

'C++' 카테고리의 다른 글

C++ 예외처리 try~throw~catch  (0) 2016.07.07
C++ 입출력시스템 정리  (0) 2016.07.05
STL vector와 sort  (0) 2016.07.05
STL vector의 사용법  (0) 2016.07.04
enum 과 연산자 중복의 예  (0) 2016.07.04