Computer Networking: A Top-Down Approach (7th Edition)
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
Bartleby Related Questions Icon

Related questions

Question
100%

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.
expand button
Transcribed Image Text: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.
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.
expand button
Transcribed Image Text: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.
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Similar questions
Recommended textbooks for you
Text book image
Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON
Text book image
Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science
Text book image
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning
Text book image
Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning
Text book image
Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education
Text book image
Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY