1、注意要保存原来的字符串str
2、用getline(cin,S);来输入string字符串S
3、注意用getchar来吸收换行符
4、一些库函数注意include<ctype.h>
isdigit(i)判断是否是十进制数字
isalpha(i)判断是否是字母
isalnum(i)判断是否是字母或者数字
toupper(i),将i变成大写字母
tolower(i),将i变成小写字母
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <cstring>
#include <map>
#include <vector>
#include<string>
using namespace std;
string str;
string S;
string temp;
string func(string S)//功能:将字符串S都变成大写
{
for (int i = 0; i < S.length(); i++)
{
S[i] = toupper(S[i]);
}
return S;
}
int main()
{
getline(cin,S);
int flag;
int n;
scanf("%d",&flag);
scanf("%d",&n);
getchar();//注意吸收换行符
if (flag == 1)//表示大小写敏感
{
for (int i = 0; i < n; i++)
{
str.clear();
getline(cin, str);
if (str.find(S) != -1)//说明找到了子字符串
cout << str<<endl;
}
}
else//表示大小写不敏感
{
//将S都变成大写
S = func(S);
for (int i = 0; i < n; i++)
{
str.clear();
getline(cin, str);
temp = func(str);
if (temp.find(S) != -1)//说明找到了子字符串
cout << str << endl;
}
}
}
该博客展示了如何使用C++编程实现大小写敏感/不敏感的字符串搜索。通过getline函数读取用户输入,利用isdigit、isalpha和isalnum等库函数进行字符检查,将字符串转换为大写并查找子串。程序还考虑了换行符的处理,确保输入的正确读取。

404

被折叠的 条评论
为什么被折叠?



