Simple text editor using c programming in linux environment, C/C++ Programming

Assignment Help:

Deliverables: you are required to upload your c code in the assignment dropbox set in Moodle. You are supposed to work with Linux gcc compiler and pico editor for compiling via the command line in the Linux terminal. In the beginning, you can use Dev C++ or Eclipse IDE - CodeBlocks since your Linux server is being setup. Note that c programming has a filename.c extension (not .cpp). You should make a directory called "Assignment_1" in your 'home' directory of you Linux server account. In this directory, you can have your c code and accompanying files. Note that the code in your Linux server will be graded in your lab from your presentation.

scription

In this assignment, you will have the opportunity to write a simple text processing program with all essential functions (open and save text documents, insert and delete text, search for words). A MENU will be used that will help users perform these operations. We assume that text read from a file is stored in an array until the file is saved.

You are required to use the c programming language (not C++) and use the std library functions or write the function yourself that implements operations/features of a simple text editor.

Note that all these functions will be implemented in one c program file.

Programming Requirements

a. Write a C program to open and close a file given its name. Your program must check whether or not the file exists.

b. Add a function for reading an opened file into an array of characters. You may assume the array is large enough to hold an entire file (e.g. 100,000 characters). 

c. Add a function for saving the text stored in an array to a file. Your program must  check whether or not the output file already exists, and if it does, your program must ask the user whether he/she wishes to overwrite the file.

d. Extend your program to count the number of words and characters in the text file. An algorithm for counting words is given in the textbook.

e. Add a function for inserting a string into the array. Insertion is done by providing a start position and a string

f. Add a function for deleting strings from the array. Deletion is done by providing a start position and the length of the string to be deleted.

g. Add a function that searches the text for a pattern. Show all occurrences of a string.

h. Add a function to replace all occurrences of a string with a new string. Note that this operation is a combination of search, delete, and insert operations.

Once all the functions have been implemented, you should design a menu that is used for informing users about selection. "Pico" text editor in Linux is a good example.

Extra Credit Problem:

i. Extend your program to allow all operations performed since the last save to be undone in the reverse order in which they were executed. For instance, a command'd 3 4' which deleted the string "abcd" from position 3 is undone by a command 'i 3 abcd' which will insert the string "abcd" at position 3. You will need a stack to save the undo operations that may be performed.


Related Discussions:- Simple text editor using c programming in linux environment

Write code in visual studio 2010, I have a mini project where I need to wri...

I have a mini project where I need to write a code .wonder if someone can help me.I already have the forms and webmaster page done just need to code portion

Change to palindrome, A palindrome is a string that reads the same from bot...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

Araay, create two array names and grade .in first array you have to store t...

create two array names and grade .in first array you have to store thease 10 names 1.a,2.3.r,4.s,5.l,6.k,7.n,8.b,9.z,10.d you have to enter grades for thease students.te program mu

Function with unsigned char parameters, Write a function that has four uns...

Write a function that has four unsigned char parameters, combines the four one-byte integer values into an unsigned integer, and returns the unsigned integer. When the four one

Palindrome, A palindrome is a string that reads the same from both the ends...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

C++ and matlab, ">http://www.ee.nmt.edu/~erives/289_F12/EE289_Takehome_2.p...

">http://www.ee.nmt.edu/~erives/289_F12/EE289_Takehome_2.pdf http://www.ee.nmt.edu/~erives/289_F12/Takehome2_maze.GIF

Program to access file system, The program must use the file named on the c...

The program must use the file named on the command line as its input file. Suppose the program is named pdbtool. Then if the user types pdbtool 1A36.pdb the program must read the d

Change to palindrome, A palindrome is a string that reads the same from the...

A palindrome is a string that reads the same from the both the ends. Given a string S convert it to a palindrome by doing character replacement. Your takes is to convert S to palin

Find the largest and smallest average, Use the above problem and have ...

Use the above problem and have the program print the biggest and smallest sales for each employee for everyday of the month. Program should also find the largest and

Difference between mutex and binary semaphore, Semaphore is used to synchro...

Semaphore is used to synchronize processes. whereas mutex is used to give synchronization among threads running in the similar process.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd