filelib.h
Functions | |
Opens a dialog that allows the user to choose a file from the specified path. | |
Creates a new directory for the specified path. | |
Creates a new directory for the specified path. | |
Adds an extension to a file name if none already exists. | |
Deletes the specified file. | |
Expands a filename into a canonical name for the platform. | |
Returns true if the specified file exists. |
|
Returns size of specified file or -1 if no such file exists. | |
Returns the canonical name of a file found using a search path. | |
Returns an absolute filename for the current directory. | |
Returns the standard directory path separator used on this platform. | |
Returns the extension of filename . |
|
Returns all but the last component of a path name. | |
Returns the root of filename . |
|
Returns the standard search path separator used on this platform. | |
Returns the last component of a path name. | |
Returns the operating system's temporary directory path as a string. | |
Returns true if the specified file is a directory. |
|
Returns true if the specified file is a regular file. |
|
Returns an alphabetized vector of the files in the specified directory. | |
Determines whether the filename matches the specified pattern. | |
Opens the filestream stream using the specified filename. |
|
Reads the entire contents of a filestream and returns them as a string . |
|
Reads the entire contents of a filestream and returns them as a vector of lines. | |
Renames a file. | |
Moves an input stream back to its beginning so it can be read again. | |
Changes the current directory to the specified path. | |
Writes the given text to the specified file. |
bool openFile(ifstream& stream, string filename); bool openFile(ofstream& stream, string filename);
stream
using the specified
filename. If the operation
succeeds, openFile
returns true
;
if it fails, openFile
sets the failure flag in the
stream and returns false
. If stream
is of type ifstream
, the file
is opened for reading; if of type ofstream
, it is opened for writing.
Usage:
if (openFile(stream, filename)) ...
string readEntire(istream& is);
string
. The client is responsible for
opening and closing the stream.
Usage:
string data = readEntire(is);
Vector<string> readLines(istream& is);
Usage:
Vector<string> lines = readLines(is);
string chooseFilenameDialog(string title, string path);
title
parameter is displayed in the dialog title.
The path
parameter is used to set the working directory;
if path
does not appear, chooseFilenameDialog
uses the current directory.
Usage:
string filename = chooseFilenameDialog("Choose a file");
string getRoot(string filename);
filename
. The root consists
of everything in filename
up to the last dot and
the subsequent extension. If no dot appears in the final component
of the filename, getRoot
returns the entire name.
Usage:
string root = getRoot(filename);
string getExtension(string filename);
filename
. The extension
consists of the separating dot and all subsequent characters.
If no dot exists in the final component, getExtension
returns the empty string. These semantics ensure that concatenating
the root and the extension always returns the original filename.
Usage:
ext = getExtension(filename);
string getHead(string filename);
getHead("a/b") = "a" getTail("a/b") = "b" getHead("a") = "" getTail("a") = "a" getHead("/a") = "/" getTail("/a") = "a" getHead("/") = "/" getTail("/") = ""
Usage:
head = getHead(filename);
string getTail(string filename);
getHead
function.
Usage:
tail = getTail(filename);
string getTempDirectory();
"/tmp"
or "/var/tmp"
and on a Windows system it is often something like "C:\Users\YourUserName\Local Settings\Temp"
.
Usage:
string tempdir = getTempDirectory();
string defaultExtension(string filename, string ext);
extension
argument begins with a leading *
,
any existing extension in filename
is replaced by
ext
.
Usage:
string newname = defaultExtension(filename, ext);
string findOnPath(string searchpath, string filename);
findOnPath
returns the empty string.
Usage:
string pathname = findOnPath(searchpath, filename);
void deleteFile(string filename);
error
.
Usage:
deleteFile(filename);
void renameFile(string oldname, string newname);
error
in the implementation.
Usage:
renameFile(oldname, newname);
bool fileExists(string filename);
true
if the specified file exists.
Usage:
if (fileExists(filename)) ...
int fileSize(string filename);
Usage:
int n = fileSize(filename);
bool isFile(string filename);
true
if the specified file is a regular file.
Usage:
if (isFile(filename)) ...
bool isDirectory(string filename);
true
if the specified file is a directory.
Usage:
if (isDirectory(filename)) ...
void setCurrentDirectory(string path);
Usage:
setCurrentDirectory(filename);
string getCurrentDirectory();
Usage:
string filename = getCurrentDirectory();
void createDirectory(string path);
createDirectory
function does not report an error if
the directory already exists. Unlike createDirectoryPath
,
createDirectory
does not create missing directories
along the path. If some component of path
does
not exist, this function signals an error.
Usage:
createDirectory(path);
void createDirectoryPath(string path);
path
do not exist, this function creates
them as needed.
Usage:
createDirectoryPath(path);
string expandPathname(string filename);
Usage:
string pathname = expandPathname(filename);
Vector<string> listDirectory(string path);
.
and ..
are excluded from the list.
Usage:
Vector<string> filenames = listDirectory(path);
bool matchFilenamePattern(string filename, string pattern);
? Matches any single character * Matches any sequence of characters [...] Matches any of the specified characters [^...] Matches any character except the specified onesThe last two options allow a range of characters to be specified in the form
a-z
.
Usage:
if (matchFilenamePattern(filename, pattern)) ...
string getDirectoryPathSeparator();
Usage:
string sep = getDirectoryPathSeparator();
string getSearchPathSeparator();
Usage:
string sep = getSearchPathSeparator();
void rewindStream(istream& stream);
clear
member function on the stream to reset any flags such as the fail
flag, then calling the seekg
member function to move the stream's internal cursor back to its beginning.
Usage:
rewindStream(stream);
bool writeEntireFile(string filename, string text, bool append = false);
append
parameter is passed with a true
value, adds the given text to the end of the file.
If append
is omitted or false
, overwrites any previous contents of the file.
If the file cannot be opened or written, returns false
, otherwise returns true
.
Usage:
writeEntireFile(filename, text);