小白吟风 发表于 2019-9-16 20:40:16

主函数中的输入流有点问题,求助一下各位大佬!错误在主函数里,如何同时输入两个...

#include <iostream>
using namespace std;
#define MAXSIZE 100
//string内建功能
//提取字符串
void Substr(string s1);
void Substr(string s1)
{
    int m, n;
    cout << "请指定您要截取字符串首字母位置以及要截取的长度n:" << endl;
    cin >> m >> n;
    cout << "您要截取的结果如下:" << endl;
    cout << s1.substr(m - 1, n) << endl;
}
//比较字符串
void Compare(string s2, string s3);
void Compare(string s2, string s3)
{
    cout << "字符串" << s2 << "与" << s3 << "的比较结果为:";
    cout << s2.compare(s3) << endl; //比较s2与s3的大小
}
//添加字符串
void Append(string s4, string s5);
void Append(string s4, string s5)
{
    //把s5连接到s4的结尾
    cout << "连接结果为:";
    cout << s4.append(s5) << endl;
}
//搜索字符串
void Find(string s6, string key);
void Find(string s6, string key)
{
    //找出s6中key第一次出现的位置
    int pos = 0;
    if (s6.find(key))
    {
      pos = s6.find(key);
      cout << key << "在" << s6 << "中第一次出现的位置为:" << pos << endl;
    }
    else
    {
      cout << "您所查找的内容不在" << s6 << "中!!!\n";
    }
}
int main()
{
    string s1;
    cout << "请输入您要截取的字符串:" << s1 << endl;
    getline(cin, s1);
    Substr(s1);

    string s2, s3;
    cout << "请输入您要比较的两个字符串:\n";
    cin >> s2;
    cin.get();
    cin >> s3;
    cin.get();
    Compare(s2, s3);

    string s4, s5;
    cout << "请输入要进行连接的两个字符串:\n";
    cin >> s4;
    cin.get();
    cin >> s5;
    cin.get();
    Append(s4, s5);

    string s6, key;
    cout << "请输入您要查找的对象以及查找关键词:\n";
    cin >> s6;
    cin.get();
    cin >> key;
    cin.get();
    Find(s6, key);

    return 0;
}

人造人 发表于 2019-9-16 22:10:21

不知道你的问题是什么

小白吟风 发表于 2019-9-18 08:09:51

已经解决,谢谢!我找到原因了!
页: [1]
查看完整版本: 主函数中的输入流有点问题,求助一下各位大佬!错误在主函数里,如何同时输入两个...