Question
C++ Write a program that reads lines of text and appends them to a char buffer[1000]. Stop after reading 1,000 characters. As you read in
C++
Write a program that reads lines of text and appends them to a char buffer[1000]. Stop after reading 1,000 characters. As you read in the text, replace all newline characters ' ' with '\0' terminators. Establish an array char* lines[100], so that the pointers in that array point to the beginnings of the lines in the text. Only consider 100 input lines if the input has more lines. Then display the lines in reverse order, starting with the last input line.
This is the code I have but it is not outputting anything. Please help, thanks.
#include
using namespace std;
int main() {
char buffer[1001];
char *lines[100];
char c;
int count1, count2;
/*to count number of characters read*/
count1 = 0;
/*to count no. of lines read*/
count2 = 0;
/*first line starting from 0 index*/
lines[0] = &buffer[0];
while (count1 != 1000 && count2 != 100) {
/*read a character*/
c = getchar();
if (c == ' ') {//if newline
buffer[count1] = '\0';
/*increment no. of lines read*/
count2++;
/*next lines starts from */
lines[count2] = &buffer[count1 + 1];
}
else {//otherwise
buffer[count1] = c;
}
count1++;
}
buffer[count1] = '\0';
/*print in reverse order*/
for (int i = count2; i >= 0; i--){
cout << lines[i] << " ";}
return 0;
}
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