首页 > 解决方案 > 如何在 C++ 中比较 s1 和 s2 而没有 if 语句

问题描述

我正在尝试编写一个遵循这些要求的代码,但是我无法找到一个可以正确比较string1并且string2两者都是由用户输入的函数。这是我的代码:

const int COLFMT1 = 20;
const int COLFMT2 = 20;

string s1;
string s2;
size_t lengths1;
// string s1ats2;
cout << "Welcome to String Squids!" << endl;
cout << "--------------------------" << endl;

cout << "Enter string 1 (at least three characters, no spaces): ";
cin >> s1;
cout << "Enter string 2 (no spaces): ";
cin >> s2;

// Show formatted strings

cout << "String 1" << setw(COLFMT1) << right << endl;
cout << "Value: " << setw(COLFMT1) << right << s1 << setw(COLFMT1) << left << endl << endl;

lengths1 = s1.length(); //gathering length of string 1
cout << "Length:" << setw(COLFMT1) << right << lengths1 << setw(COLFMT1) << left << endl << endl;

//s1ats2 = s2.find('s1',9);
//cout << s1ats2;

以下是说明:

将以下六个输出s1格式化为两个格式化(无转义序列)列:

  • 的内容s1
  • 的长度s1
  • 地点,如果有的话,在s2里面找到s1
  • 是否s1[0]是字母字符

我在第 3 个项目符号中遇到问题,在s2中找到s1,然后还要确定它是否是字母字符。

标签: c++stringformat

解决方案


您需要的第一个功能是简单的s1.find(s2).

第二个功能将需要std::isalpha


推荐阅读