Given some text lines in one string, each line is separated by ‘\n’ character. Print the last ten lines. If number of lines is less than 10, then print all lines.
Source: Microsoft Interview | Set 10
Following are the steps
1) Find the last occurrence of DELIM or ‘\n’
2) Initialize target position as last occurrence of ‘\n’ and count as 0 , and do following while count < 10
……2.a) Find the next instance of ‘\n’ and update target position
…..2.b) Skip ‘\n’ and increment count of ‘\n’ and update target position
3) Print the sub-string from target position.
str16 str17 str18 str19 str20 str21 str22 str23 str24 str25 ----------------- str1 str2 str3 str4 str5 str6 str7 ----------------- ----------------- ERROR: string doesn't contain '\n' character -----------------
Note: Above program can be modified to print last N lines by passing N instead of 10. N can store any integer value.
This article is compiled by Narendra Kangralkar. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Print 2D matrix in different lines and without curly braces in C/C++?
- C Program to count number of lines in a file
- Lex program to count the number of lines, spaces and tabs
- Lex program to take input from file and remove multiple spaces, lines and tabs
- C program to print a string without any quote (singe or double) in the program
- C++ Program to print an Array using Recursion
- C Program to print Floyd's triangle
- C Program to print numbers from 1 to N without using semicolon?
- C Program to print contents of file
- C Program to print environment variables
- Program to print Happy Birthday
- Program to print the diamond shape
- Program to print a pattern of numbers
- C program to print characters without using format specifiers
- C++ Program to print current Day, Date and Time
Improved By : rathbhupendra