1,105,546 Community Members

C program to open files

Member Avatar
digitalhead
Newbie Poster
4 posts since Mar 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Hi,
I wanted to write a C program which searches for text files in a directory(assuming the directory and files are not write protected),list them and open each one of them(files) write a letter A in them.Can anyone give me a sample code. I believe it can be done with shell embedded in C..........

Hope someone can throw some light here.

Member Avatar
WaltP
Posting Sage w/ dash of thyme
9,363 posts since May 2006
Reputation Points: 2,905 [?]
Q&As Helped to Solve: 1,151 [?]
Skill Endorsements: 45 [?]
Team Colleague
 
0
 

What do you know about reading directories in C?

Member Avatar
digitalhead
Newbie Poster
4 posts since Mar 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

What do you know about reading directories in C?

Well I used the find shell command to list files.....but then how to open these individual files.....???

Member Avatar
WaltP
Posting Sage w/ dash of thyme
9,363 posts since May 2006
Reputation Points: 2,905 [?]
Q&As Helped to Solve: 1,151 [?]
Skill Endorsements: 45 [?]
Team Colleague
 
0
 

Well, you can use the shell command to write the list into a file, then your program can read that file to retrieve the files.

Since I'm not familiar with a "find shell command". what OS are you using? When dealing with directories, that's an important piece of information.

Member Avatar
chrjs
Junior Poster in Training
96 posts since Feb 2011
Reputation Points: 42 [?]
Q&As Helped to Solve: 20 [?]
Skill Endorsements: 0 [?]
 
0
 

Like WaltP said, you should have the command write to a file and then read from that file. You should probably use the "system" function in stdlib.h. You don't have to "embed" a shell inside of your C program. Also, the good thing about the find command is it lists all the files it finds line by line, so you only need to use a function like "fgets" to read the filenames from the file generated from find's output.

Member Avatar
digitalhead
Newbie Poster
4 posts since Mar 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Like WaltP said, you should have the command write to a file and then read from that file. You should probably use the "system" function in stdlib.h. You don't have to "embed" a shell inside of your C program. Also, the good thing about the find command is it lists all the files it finds line by line, so you only need to use a function like "fgets" to read the filenames from the file generated from find's output.

Hi,
Thanks for the reply.....I used the same approach before....like using find to list files which are saved in a file. From that file I read every line(by fgets()) and tried to open ....but the files are not opening.....Can you give me a sample code for this....to understand better....By the way I am using Ubuntu 10.04

Member Avatar
digitalhead
Newbie Poster
4 posts since Mar 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Hi,
Thanks for the reply.....I used the same approach before....like using find to list files which are saved in a file. From that file I read every line(by fgets()) and tried to open ....but the files are not opening.....Can you give me a sample code for this....to understand better....By the way I am using Ubuntu 10.04

Hi,
I fixed it.....ran smoothly...... :)

Question Answered as of 3 Years Ago by WaltP and chrjs
Member Avatar
abhimanipal
Master Poster
746 posts since Dec 2009
Reputation Points: 91 [?]
Q&As Helped to Solve: 104 [?]
Skill Endorsements: 0 [?]
 
0
 

I see that this thread has been marked as solved but I had a quick question for the OP.

Did you handle the case when the Directory contained sub directories as well ?

Member Avatar
ashok.bandari88
Newbie Poster
2 posts since Aug 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

How can i open c++ from ms dos suggest me very fast

Member Avatar
ashok.bandari88
Newbie Poster
2 posts since Aug 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

How to open c++ from msdos

You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
View similar articles that have also been tagged: