
1. size_t
int ํ
: -21e8 ~ 21e8 ์ ์
size_t ํ
: unsigned int ๋ '0์ ํฌํจํ ์์ ์ ์'๋ค.
: ์ปดํจํฐ ์ฌ์์ ๋ฐ๋ผ uint32_t๊ฐ ๋ ์๋ ์๊ณ , uint64_t๊ฐ ๋ ์๋ ์๋ค.
ex)
uint32_t u32t; ๋ 32๋นํธ์ 0์ ํฌํจํ ์์ ์ ์
unit64_t u64t; ๋ 64๋นํธ์ 0์ ํฌํจํ ์์ ์ ์
string::npos
: size_t์ underflow ๊ฐ -> ์ฐ๋ ๊ธฐ๊ฐ
2. find() ํจ์
C++ string ๋ณ์์์ ํน์ ๋ฌธ์์ด์ ์ฐพ์ ๋, std::string์ find() ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
string s = "Enter ui1234 Muzi";
size_t index = s.find("ui1234");//size_t๋ unsigned long type
printf("%zu\n", index); // zu๋ unsigned long์ ๋ํ type specifier
//์ถ๋ ฅ : 6
}
์ ์ฝ๋์์ index์ ๊ฐ์ ์ฐพ๊ณ ์ ํ๋ ๋ฌธ์์ด์ ์์ ์์น๊ฐ ๋๋ค.
๋ค์ ๋งํด, text.find("ui1234")๋ 6์ ๋ฐํํ๋ค.
์์ (index ๋ฒ์งธ ๋ถํฐ find)
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
string s = "Enter ui1234 Muzi";
size_t index = s.find("ui1234",7);//size_t๋ unsigned long type
printf("%zu\n", index); // zu๋ unsigned long์ ๋ํ type specifier
//์ถ๋ ฅ : ์ฐ๋ ๊ธฐ๊ฐ ์ถ๋ ฅ.
}
์ ์ฝ๋์์ index์ ๊ฐ์ 7๋ฒ์งธ ๋ถํฐ ui1234๋ฅผ ์ฐพ๊ธฐ ๋๋ฌธ์ ์ฐ๋ ๊ธฐ ๊ฐ์ด ๋์จ๋ค.
์ฆ, string ์์ ํน์ string์ด ์๋ ๊ฒฝ์ฐ, string::npos๋ฅผ ๋ฐํ!
3. replace() ํจ์
: ๋ฌธ์์ด ๋ด์ ํน์ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๊ต์ฒดํ๋ ํจ์
1. replace(iterator_๋ฐ๊ฟ๋ฌธ์์ ์์ , iterator_๋ฐ๊ฟ๋ฌธ์์ ๋ , ๋ฐ๊ฟ๋ฌธ์์ด)
ex.
str.replace(str.begin() + pos, str.begin() + pos + origin.size(), "#BBQ#");
2. replace(์์น, ๋ฌธ์์, ๋ฌธ์์ด)
ex.
//str.replace(pos, 3, "#BBQ#");
string str = "ABCDEF";
string find_str = "CDE";
string replace_str = "XXXX";
str.replace(str.find(find_str), find_str.length(), replace_str);
์คํ ๊ฒฐ๊ณผ : ABXXXXF
+
์์ ํ์ด ์ฝ๋
#include <iostream>
#include <string>
using namespace std;
string str;
void changeStr(string origin, string dest) {
size_t pos = 0;
while (1) {
pos = str.find(origin, pos);
if (pos != string::npos) {
//replace(iterator_๋ฐ๊ฟ๋ฌธ์์ ์์,iterator_๋ฐ๊ฟ๋ฌธ์์ ๋, ๋ฐ๊ฟ๋ฌธ์์ด)
str.replace(str.begin() + pos, str.begin() + pos + origin.size(), dest);
//replace(์์น,๋ฌธ์์,๋ฌธ์์ด)
//str.replace(pos, 3, "#BBQ#");
pos += dest.size();
}
else break;
}
}
int main() {
cin >> str;
changeStr("KFC", "#BBQ#");
changeStr("MC", "#BBQ#");
changeStr("BICMAC", "#MACBOOK#");
changeStr("SHACK", "#SHOCK#");
changeStr("SONY", "#NONY#");
cout << str;
return 0;
}
'๐ป > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ๊ตฌ์กฐ์ฒด ๋ฐฑํฐ ํธ์๋ฐฑ , ์์์ ๋ฃ๊ธฐ /struct vector push_back (2) | 2024.07.13 |
---|---|
[c++] vector push_back๊ณผ emplace_back (0) | 2024.06.27 |
[c++] ๋ฐ์ฌ๋ฆผ / ์ฌ๋ฆผ / ๋ด๋ฆผ ํจ์ (0) | 2024.04.11 |
[c++] DFS ๊น์ด ์ฐ์ ํ์ , ์ฌ๊ทํจ์ (0) | 2024.04.02 |
[c++] DAT (0) | 2024.03.21 |