Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Implement the interface from mystring.h using dyamically - allocated strings that will allocate exactly the correct amount of memory to store their characters. But they
Implement the interface from mystring.h using dyamicallyallocated
strings that will allocate exactly the correct amount of memory to store their
characters. But they will also have an arbitrary maximum length of
MAXSTRINGLENGTH, which will be defined elsewhere.
Assume the code you write will be saved to mystring.c; write the complete
contents of that file. Implement only the data structure; do not write a main
program. Write appropriate contracts. This is an interface for a string data type.
A string stores an exactlysized, immutable string.
typedef struct STRING String;
This is the maximum length of a string.
It is applicationspecific and will not be defined in mystring.c
Instead, it will be defined by the program that uses this interface.
extern const int MAXSTRINGLENGTH;
Create and return a new string containing a copy of the string "init".
Allocate exactly as many characters as needed to store it
Return NULL on error, such as init is longer than MAXSTRINGLENGTH.
String newstring char init ;
Destroy the string, freeing all of its memory.
void destroystring String thestring;
Create and return a new string containing the concatenation joining
of stringl and string again allocating exactly as many characters as
required. Return NULL on error.
String concat String string String string;
Copy up to "maxlen" chars and from the string to the given char "array".
The "maxlen" includes which will always be placed at the end.
Return the number of characters copied excluding or on error.
int toarray String string char array int maxlen ;
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started