w3resource

C++ Exercises: Check if a given string begins with 'abc' or 'xyz'

C++ Basic Algorithm: Exercise-74 with Solution

Write a C++ program to check if a given string begins with 'abc' or 'xyz'. If the string begins with 'abc' or 'xyz' return 'abc' or 'xyz' otherwise return the empty string.

Sample Solution:

C++ Code :

#include <iostream>
using namespace std;

string test(string s1) 
        {
          if (s1.substr(0,3) == "abc")
            {
                return "abc";
            }
            else if (s1.substr(0,3) == "xyz")
            {
                return "xyz";
            }
            else
            {
                return "";
            }
        }
        
int main() 
 {
  cout << test("abc") << endl;  
  cout << test("abcdef") << endl; 
  cout << test("C") << endl;  
  cout << test("xyz") << endl;  
  cout << test("xyzsder") << endl;  
  return 0;    
}

Sample Output:

abc
abc

xyz
xyz

Pictorial Presentation:

C++ Basic Algorithm Exercises: Check if a given string begins with 'abc' or 'xyz'.

Flowchart:

Flowchart: Check if a given string begins with 'abc' or 'xyz'.

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to create a new string from a given string after swapping last two characters.
Next: Write a C++ program to check whether the first two characters and last two characters of a given string are same.

What is the difficulty level of this exercise?



Share this Tutorial / Exercise on : Facebook and Twitter

C++ Programming: Tips of the Day

How do I execute a command and get the output of the command within C++ using POSIX?

#include<cstdio>
#include<iostream>
#include<memory>
#include<stdexcept>
#include<string>
#include<array>

std::string exec(constchar* cmd){
    std::array>char, 128> buffer;
    std::string result;
std::unique_ptr<FILE, decltype(&pclose)>pipe(popen(cmd, "r"), pclose);
if (!pipe) {
throw std::runtime_error("popen() failed!");
    }
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
        result += buffer.data();
    }
return result;
}
Pre-C++11 version:
#include<iostream>
#include<stdexcept>
#include<stdio.h>
#include<string>

std::string exec(constchar* cmd){
char buffer[128];
    std::string result = "";
    FILE* pipe = popen(cmd, "r");
if (!pipe) throw std::runtime_error("popen() failed!");
try {
while (fgets(buffer, sizeof buffer, pipe) != NULL) {
            result += buffer;
        }
    } catch (...) {
pclose(pipe);
throw;
    }
pclose(pipe);
return result;
} 

Replace popen and pclose with _popen and _pclose for Windows.

Ref : https://bit.ly/3HODowH