Visit Our UNIX and Linux User Community

Getting File Name

Thread Tools Search this Thread
Top Forums Programming Getting File Name
# 1  
Old 10-13-2003
Getting File Name


I'm developing an application program by C++ language in the UNIX environment and I would know the name of last file written at a particular path and with a particular prefix.
For instance, I need someting like output of following UNIX pipelined command:

ls -t $PATHFILE/file_prefix_* | head -1

How can I achieve the same result in C++? I tried with the system call:

system( "ls -t $PATHFILE/file_prefix_* | head -1 > tmpfile" );

In this way I saved filename I'm looking for in tmpfile, but I don't think it is a good solution.

Many thanks. Bye,
# 2  
Old 10-13-2003
You can use readdir() to read a directory. Then use lstat() on each file.
# 3  
Old 10-23-2003

Many thanks! My application is working!

# 4  
Old 10-24-2003
Originally posted by Perderabo
You can use readdir() to read a directory. Then use lstat() on each file.
That is definately more reliable than a tmp file, but another solution - just for giggles - would be to use popen on the command and avoid the temp file, reading the output of the ls command directly through the pipe.

Just a thought...popen is not the best solution in this case - given the various shells aliases and things could preclude the ls from functioning as desired - but popen is a nice thing to explore.
# 5  
Old 10-24-2003
It's not the temp file that bothers me. It's the extra processes. First you launch a shell. It reads a command line. It launches a pair of processes. Then you read the temp file.

Now compare that to just reading the directory.

And popen() is not much better.

Previous Thread | Next Thread
Test Your Knowledge in Computers #1006
Difficulty: Medium
In calculus and most other branches of mathematics beyond practical geometry, angles are universally measured in degrees.
True or False?

3 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script (sh file) logic to compare contents of one file with another file and output to file

Shell script logic Hi I have 2 input files like with file 1 content as (file1) "BRGTEST-242" a.txt "BRGTEST-240" a.txt "BRGTEST-219" e.txt File 2 contents as fle(2) "BRGTEST-244" a.txt "BRGTEST-244" b.txt "BRGTEST-231" c.txt "BRGTEST-231" d.txt "BRGTEST-221" e.txt I want to get... (22 Replies)
Discussion started by: pottic
22 Replies

2. Shell Programming and Scripting

Compare 2 text file with 1 column in each file and write mismatch data to 3rd file

Hi, I need to compare 2 text files with around 60000 rows and 1 column. I need to compare these and write the mismatch data to 3rd file. File1 - file2 = file3 wc -l file1.txt 58112 wc -l file2.txt 55260 head -5 file1.txt 101214200123 101214700300 101250030067 101214100500... (10 Replies)
Discussion started by: Divya Nochiyil
10 Replies

3. Shell Programming and Scripting

Match list of strings in File A and compare with File B, C and write to a output file in CSV format

Hi Friends, I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving... File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
Discussion started by: asnandhakumar
6 Replies

Featured Tech Videos