nclude #include using namespace std; #include "h25.h" // Add your code here PLEASE WRITE THE
h25.cpp
-----------------------------------------------------------
#include <string>
#include <iostream>
using namespace std;
#include "h25.h"
// Add your code here
PLEASE WRITE THE CODE HERE
//////////////////////// STUDENT TESTING //////////////////////////
int run()
{
cout << "Add your own tests here" << endl;
return 0;
}
h25.h
-----------------------------------------------------------------
#ifndef H25_H_
#define H25_H_
/**
* Reverses the C-style string pointed to by s.
*
* @param s a pointer to the character in a C-style string.
*/
void reverse(char * s);
/**
* Finds the first occurrence of str2 which appears in str1.
* Returns a pointer to the first occurrence of str2 in str1.
* If no match is found, then a null pointer is returned.
* If str2 points to a string of zero length, then the argument str1 is returned.
*
* @param str1 C-string to search through.
* @param str2 C-string to search for.
* @return
*/
const char * findStr(const char *str1, const char *str2);
// DO NOT CHANGE THESE LINES
#define strcmp static_assert(false, "strcmp not allowed");
#define strstr static_assert(false, "strstr not allowed");
#define strlen(s) static_assert(false, "strlen not allowed");
#define strcat(d, s) static_assert(false, "strcat not allowed");
#define strcpy(d, s) static_assert(false, "strcpy not allowed");
#define string static_assert(false, "string not allowed");
#endif
![C-String Functions
W rite two C-string functions "from scratch". Do not use any functions
from the standard library, and you cannot use the C++ string class. Read
through, and follow the instructions below.
| 1. The reverse Function
This function reverses (in place) a C-style character string s. You must use pointers and
the increment and decrement operators only.
• You may not use any library functions.
• You may not allocate any other array storage
• You may not use pointer arithmetic (that is p + n)
• You may not use array notation in your function.
In other words, there will be no int variables or literals in your function: only pointers
along with assignment, comparison, pointer subtraction, ++ and/or --; you may use:
a temporary char variable to exchange the elements of the string
• a temporary pointer.
If you get stuck, please ask questions on Piazza.
2. The
findStr Function
Implement your version of the standard C-library function strstr(). So that it doesn't
conflict with the names in the standard library, use findStr().
1 | const char * findstr(const char *s1, const char *s2);
The findStr prototype.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F79920f54-6dd5-4f69-b3b3-91d2ebf645a4%2F8f2a7dfa-b47c-4fb2-9726-39d2fe054639%2F8b9pcfk_processed.png&w=3840&q=75)
![The function:
• finds the first occurrence of the entire string s2 inside the string s1
• returns a pointer to the first occurrence.
• If no match is found, then return the C++ nullptr.
• If s2 points to a string of zero length, then return s1.
Here are some examples:
findstr("cowtown", "ow"); // returns &s1[1]
findstr("cowtown", "own"); // returns &s1[4]
3 findstr("cowtown", "two"); // returns nullptr
Using the findStr function.
You may use pointer notation or array notation. However, do not use any functions
from the standard library. That includes strlen() or the C++ string class.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F79920f54-6dd5-4f69-b3b3-91d2ebf645a4%2F8f2a7dfa-b47c-4fb2-9726-39d2fe054639%2F8yc1m4_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 3 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)