C_C++

(C++) 문자열에서 문자열 검색 (찾기)

고니자니 2022. 12. 14. 10:09
반응형

#검색 #찾기 #파일 #문자열 

- 파일에서 문자열 검색하기 (찾기)

- 한 행에서 (한 줄에서) 문자열 찾기

- 문자열에서 특정 문자열 검색하기

 

 

find

size_t   str.find(find_str,  [offset])

str: 문자열

find_str: 검색할 문자열

offset: 검색을 시작할 위치

 

문자열을 찾았으면 찾은 문자열의 인덱스(위치)를 반환하고, 찾지 못했으면 -1을 반환합니다.

 

 

예제

#include <iostream>
#include <string>
using namespace std;

int main()
{

    string line = "Hello C plus plus.";

     size_t n = line.find("plus");
     if (n >= 0)
         cout << n << ": 문자열을 찾았습니다." << endl;
     else
         cout << n << ": 문자열을 찾지 못했습니다." << endl;

    return 0;
}

 

다음 예제는 파일에서 특정 문자열이 있는 라인을 출력하는 코드입니다.

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
    string line;

    ifstream fin("test.cpp");

    if (!fin.is_open())
    {
        cout << "파일을 열 수 없습니다.\n" << endl;
        return -1;
    }

    while (!fin.eof())
    {
        getline(fin, line);
        int n = line.find("cout");
        if (n >= 0)
        {
            cout << line << endl;
        }
    }

    fin.close();

    return 0;
}

 

반응형