Hey guyz, I'm stuck with this given, its bit hard I cant understand it just wonna know the logic ( no codes).

Its saying write a C program which read from standard input, replaces all the occurrences of the characters by the first command line argument, with the corresponding characters supplied by the second command line argument, and writes the output to a file supplied by the 3rd command line argument, then print out the file.
NB:
1- you should attempt to read in blocks of charz, change these blocks and write them to file rather than read on char at a time
2- if the 1st number of characters in the first argument are different then the number of chars in the second argument, its up to you how to handle this situation.

Recommended Answers

All 6 Replies

Say for example your program name is replace.exe. Then you call that program with three command line options.
Example. replace.exe abc def outputfile.txt Then the program will read user input line by line and write the output to outputfile.txt.

e.g

[U]input [/U]                         [U] output[/U]
            abab                            dede
            a                               d
            abracadabra                     derdfddderd

I think the NB part is simple to understand. If you dont please say.

Say for example your program name is replace.exe. Then you call that program with three command line options.
Example. replace.exe abc def outputfile.txt Then the program will read user input line by line and write the output to outputfile.txt.

e.g

[U]input [/U]                       [U]output[/U]
            abab                            dede
            a                               d
            abracadabra                     derdfddderd

I think the NB part is simple to understand. If you dont please say.

umm beauty ! it easy now :) and the ouptputfile.txt should contain only derdfddderd which the last output isn't ?!
1 more question is it right to read from buffer straight away?
for example
buff[200]
buff will constain the abab so i'll read the buffer and replace the characters with the second characters

ouptputfile.txt should contain only derdfddderd which the last output isn't ?!

It should contain all the outputs for all the inputs the user enters.

dede
d
derdfddderd

1 more question is it right to read from buffer straight away?
for example
buff[200]
buff will constain the abab so i'll read the buffer and replace the characters with the second characters

If the output is correct, it doesnt matter how you do it.

aha
ok zn i'll start with coding...
thx alote mate

alright guyz is that the right logic ?!

replace.exe abc def outputfile.txt

e.g

           [U]input [/U]                       [U]output[/U]            abab                            dede            a                               d            abracadabra                     derdfddderd
create char **temp1[1024]
then copy argv1[i] to temp1[i] so 
argv[0] = replace.exe and temp[0]= replace.exe 
argv[1]=abc  and temp1[1]=abc
argv[2]=def   and temp1[2]=def 
and zn copy temp1[i+1] to argv[i]
is this the right logic to replace them !?

hello guyz, is there any user input i mean like is there fgets ?!
because ./a.out abc def blabla
please enter character : jdk
bef
... ?! is this how it should go ?!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.