file.h File Reference

This file contains basic functions to handle ASCII files. More...

#include <fstream>
#include "matpackI.h"
#include "mystring.h"

Include dependency graph for file.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void filename_ascii (String &filename, const String &varname)
 Gives the default file name for the ASCII formats.
void filename_bin (String &filename, const String &varname)
void open_output_file (ofstream &file, const String &name)
 Open a file for writing.
void open_input_file (ifstream &file, const String &name)
 Open a file for reading.
void read_text_from_stream (ArrayOfString &text, istream &is)
 Read an ASCII stream and append the contents to the String array text.
void read_text_from_file (ArrayOfString &text, const String &name)
 Reads an ASCII file and appends the contents to the String vector text.
void replace_all (String &s, const String &what, const String &with)
 Replace all occurances of `what' in `s' with `with'.
int check_newline (const String &s)
 Checks if there is exactly one newline character at the end of the string.
bool file_exists (const String &filename)
 Checks if the given file exists.
bool find_file (String &filename, const char *extension)
 Find the given file.


Detailed Description

This file contains basic functions to handle ASCII files.

Author:
Patrick Eriksson
Date:
2000-10-28

Definition in file file.h.


Function Documentation

int check_newline ( const String s  ) 

Checks if there is exactly one newline character at the end of the string.

Parameters:
s The String to check.
Returns:
Error code (0=ok, 1=empty, 2=missing, 3=extra newline
Author:
Oliver Lemke

Definition at line 262 of file file.cc.

References replace_all().

Referenced by md_sanity_checks().

bool file_exists ( const String filename  ) 

Checks if the given file exists.

Parameters:
filename File to check.
Returns:
Error code (true = file exists, false = file doesn't exist)
Author:
Oliver Lemke

Definition at line 298 of file file.cc.

Referenced by find_file().

void filename_ascii ( String filename,
const String varname 
)

Gives the default file name for the ASCII formats.

The default name is only used if the file name is empty.

Parameters:
filename Output: file name
varname variable name
Author:
Patrick Eriksson
Date:
2000-11-01

Definition at line 64 of file file.cc.

References out_basename.

void filename_bin ( String filename,
const String varname 
)

bool find_file ( String filename,
const char *  extension 
)

Find the given file.

If it doesn't exist in the current directory, also search the include path.

Parameters:
filename File to check.
extension Extension tried to be appended to the filename.
Returns:
Error code (true = file found, false = file not found)
Author:
Oliver Lemke

Definition at line 324 of file file.cc.

References file_exists(), Parameters::includepath, Array< base >::nelem(), and parameters.

Referenced by ArtsParser::parse_agenda(), xml_read_arts_catalogue_from_file(), and xml_read_from_file().

void open_input_file ( ifstream &  file,
const String name 
)

Open a file for reading.

If the file cannot be opened, the exception IOError is thrown.

Parameters:
file File pointer
name Name of the file to open
Author:
Stefan Buehler
Version:
1
Exceptions:
ios_base::failure Somehow the file cannot be opened.

Definition at line 130 of file file.cc.

Referenced by abs_linesReadFromArtsObsolete(), abs_linesReadFromHitran(), abs_linesReadFromHitran2004(), abs_linesReadFromJpl(), abs_linesReadFromMytran2(), abs_speciesDefineAllInScenario(), and read_text_from_file().

void open_output_file ( ofstream &  file,
const String name 
)

Open a file for writing.

If the file cannot be opened, the exception IOError is thrown.

Parameters:
file File pointer
name Name of the file to open
Author:
Stefan Buehler
Version:
1
Exceptions:
ios_base::failure Could for example mean that the directory is read only.

Definition at line 91 of file file.cc.

Referenced by main().

void read_text_from_file ( ArrayOfString text,
const String name 
)

Reads an ASCII file and appends the contents to the String vector text.

This uses the function

See also:
read_text_from_stream. TEXT IS NOT OVERWRITTEN, BUT APPENDED!
Parameters:
text Output. The contents fo the file
name Name of file to read
Exceptions:
IOError 
Version:
1
Author:
Stefan Buehler

Definition at line 206 of file file.cc.

References open_input_file(), and read_text_from_stream().

Referenced by SourceText::AppendFile().

void read_text_from_stream ( ArrayOfString text,
istream &  is 
)

Read an ASCII stream and append the contents to the String array text.

TEXT IS NOT OVERWRITTEN, BUT APPENDED!

Parameters:
text Output. The contents fo the file
is Stream from which to read
Exceptions:
IOError Some error occured during the read
Version:
1
Author:
Stefan Buehler

Definition at line 165 of file file.cc.

Referenced by read_text_from_file().

void replace_all ( String s,
const String what,
const String with 
)

Replace all occurances of `what' in `s' with `with'.

Parameters:
s Output. The String to act on.
what The String to replace.
with The replacement.
Author:
Stefan Buehler

Definition at line 241 of file file.cc.

References my_basic_string< charT >::npos.

Referenced by check_newline().


Generated on Mon Mar 23 14:06:35 2009 for ARTS by  doxygen 1.5.6