Question

In: Computer Science

4. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each...

4.

Assignment Instructions:

Please respond with at least 100 words. Your initial post should address each of the topic below thoughtfully.

Topic: What are some ways to prevent out of bounds errors when reading input into C-strings?

Solutions

Expert Solution

To answer this question first let us understand the key terms.

i) C-String: It is an array of string. They are usually terminated by null character '\0'.

Advantage of C-String:

Execution of C-string statement are faster when compared to String data type (used in other language other than c and C++)

Disadvantage:

Size is fixed at compile time itself.

No functions to track the size of the c-string array

Possibility of error:

Situation1: while using built-in function

strcmp(), strcat, strcpy() does not check boundary by itself in C and C++. Thus there are chances to throw error.

Example: strcpy(destination, source)

If the size of destination is smaller than source, then it will create an bound error since c or c++ does not check the boundary.

To avoid this, it is always necessary to place and check the length of the string then perform any operation.

Always check the length of the string and then try to access

Situation 2: While reading input

#include <stdio.h>
int main()
{
char name[20];
printf("Enter name: ");
scanf("%s", name);
printf("Your name is %s.", name);
return 0;
}

In the above program if the user enters a name which is of size greater than 20, definetly the program will crash. So we must ensure by providing proper instruction since it is highly difficult to avoid error.

Way 1:

If you have to programatically obtain the input, you can obtain input in another array which is of bigger size length and then check the length and store it in the required variable.

Way 2:

int main()
{
char str[5];
printf(fgets(str, 5, stdin)); // 5 is the size required
}

fgets() will ensure that only the acceptable length will be obtained and all other will be truncated without any error. So strings can be handled efficiently without error during input using fgets().


Related Solutions

Assignment Instructions: Please respond with at least 100 words. Your initial post should address each of...
Assignment Instructions: Please respond with at least 100 words. Your initial post should address each of the topic below thoughtfully. Topic: Many companies use internal programs that were implemented before object-oriented programming came into widespread use. What are the issues involved in moving their systems to an object-oriented approach?
6. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each...
6. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each of the topic below thoughtfully. Topic: Do you think there might be a way to directly access commonly used operators, such as the arithmetic operators or the stream operators, with enumeration types. For example, would overloading these operators be a good solution? Why or why not?
8. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each...
8. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each of the topic below thoughtfully. Topic: What do you think some of the relevant issues to consider when determining whether to use protected or private members in a base class. Are there any risks involved with using the protected member access specifier instead of the private member access specifier?
5. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each...
5. Assignment Instructions: Please respond with at least 100 words. Your initial post should address each of the topic below thoughtfully. Topic: With the advent of object-oriented programming, is it ever necessary to use C-type structs rather than classes? If so, when? What are the advantages or disadvantages of each approach?
Please respond to the discussion post 1 and 2 in your own words: (Must respond to...
Please respond to the discussion post 1 and 2 in your own words: (Must respond to both) Discussion post 1 How do you think most people see the majority of human interactions, as opportunities to compete or to cooperate? I believe that the majority of human interactions are seen as opportunities to compete. The reason I say this is the competitive nature that we have in us as humans. This nature is exemplified daily in our school and our work....
Please respond to the discussion post 1 and 2 in your own words: (Must respond to...
Please respond to the discussion post 1 and 2 in your own words: (Must respond to both) Discussion post 1 Organize and review all your work-to-date. What stands out to you that is potentially of strategic relevance? Think in particular about how your organization is, or can be, or should be different!How will being (more) different in this way potentially create competitive advantages for the organization? Is this a matter of completely reinventing the organization or of enabling it to...
Address all of the following as your Main Post, using at least 250 words: What is...
Address all of the following as your Main Post, using at least 250 words: What is a job order cost system? Describe how you think a job order cost system might be used for professional service businesses. Describe factory overhead costs and give one example of an overhead cost. Lastly, write about one definition or additional concept related to job order costing
In 2-3 paragraphs, respond to the following. Your initial post should be substantive and be supported...
In 2-3 paragraphs, respond to the following. Your initial post should be substantive and be supported by course concepts. Your initial post is due by Wednesday to allow other students to respond. Should the United States government be required to have a balanced budget? What are the long-term implications of continued government indebtedness? cite references.
In 2-3 paragraphs, respond to the following. Your initial post should be substantive and be supported...
In 2-3 paragraphs, respond to the following. Your initial post should be substantive and be supported by course concepts. Your initial post is due by Wednesday to allow other students to respond. How will an understanding of macroeconomics affect your daily life?
In 2-3 paragraphs, respond to the following. Your initial post should be substantive and be supported...
In 2-3 paragraphs, respond to the following. Your initial post should be substantive and be supported by course concepts. Your initial post is due by Wednesday to allow other students to respond. Should we, as Americans, be concerned with the economies and standard of living of other countries? Explain your reasoning using course concepts.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT