Question: 2 THE FINDFIRST FUNCTION Write the function findFirst(). The function has two parameters: a const char * s1 pointing to the first character in a
2 THE FINDFIRST FUNCTION Write the function findFirst(). The function has two parameters: a const char * s1 pointing to the first character in a C-style string, and a const char * s2. Return a pointer to the first appearance of s2 appearing inside s1 and nullptr (0) if s2 does not appear inside s.
Here is the supporting file and please keep in mind we are working with c++ pointers and C-style strings
/**
CS 150 C-Strings
Follow the instructions on your handout to complete the
requested function. You may not use ANY library functions
or include any headers, except for
*/
#include
///////////////// WRITE YOUR FUNCTION BELOW THIS LINE ///////////////////////
// function goes in here
///////////////// WRITE YOUR FUNCTION ABOVE THIS LINE ///////////////////////
// These are OK after the function
#include
#include
using namespace std;
void CHECK(const char*, const char *, const string&);
void studentTests()
{
cout << "Student testing. Add code in this function." << endl;
cout << "-------------------------------------------------------------" << endl;
CHECK("Aardvark", "dv", "dvark");
CHECK("Aardvark", "k", "k");
CHECK("Aardvark", "rdv", "rdvark");
CHECK("Aardvark", "arki", "nullptr");
cout << endl;
cout << "--done--" << endl;
}
int main()
{
studentTests();
}
#include
void CHECK(const char * s1, const char * s2, const string& expected)
{
string msg = "findFirst(\"" + string(s1) + "\", \"" + string(s2) + "\")";
char d1[1024], d2[1024];
strcpy(d1, s1);
strcpy(d2, s2);
auto p = findFirst(d1, d2);
string actual = (p ? string(p) : "nullptr");
if (expected == actual)
cout << " + " + msg + "->OK" << endl;
else
cout << " X " + msg + " expected<\"" + expected + "\">, found <\"" + actual + "\">" << endl;
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
