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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!