ARTS
2.0.49
|
This file contains basic functions to handle ASCII data files. More...
#include "arts.h"
#include <stdexcept>
#include <cmath>
#include <cfloat>
#include <cstdio>
#include "matpackI.h"
#include "array.h"
#include "messages.h"
#include "parameters.h"
#include "file.h"
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. More... | |
void | open_output_file (ofstream &file, const String &name) |
Open a file for writing. More... | |
void | cleanup_output_file (ofstream &, const String &) |
Closes the file. More... | |
void | open_input_file (ifstream &file, const String &name) |
Open a file for reading. More... | |
void | read_text_from_stream (ArrayOfString &text, istream &is) |
Read an ASCII stream and append the contents to the String array text. More... | |
void | read_text_from_file (ArrayOfString &text, const String &name) |
Reads an ASCII file and appends the contents to the String vector text. More... | |
String | expand_path (const String &path) |
void | replace_all (String &s, const String &what, const String &with) |
Replace all occurances of ‘what’ in ‘s’ with ‘with’. More... | |
int | check_newline (const String &s) |
Checks if there is exactly one newline character at the end of the string. More... | |
bool | file_exists (const String &filename) |
Checks if the given file exists. More... | |
bool | find_file (String &filename, const char *extension) |
Find the given file. More... | |
This file contains basic functions to handle ASCII data files.
Definition in file file.cc.
int check_newline | ( | const String & | s | ) |
Checks if there is exactly one newline character at the end of the string.
s | The String to check. |
Definition at line 317 of file file.cc.
References replace_all().
Referenced by md_sanity_checks().
void cleanup_output_file | ( | ofstream & | , |
const String & | |||
) |
Closes the file.
If it is empty, the file is deleted.
file | File pointer |
ios_base::failure | Could for example mean that the directory is read only. |
Definition at line 146 of file file.cc.
Referenced by arts_exit().
Expands the ~ to home directory location in given path.
[in] | path | String with path |
Definition at line 274 of file file.cc.
References my_basic_string< charT >::nelem().
Referenced by open_input_file(), open_output_file(), xml_read_arts_catalogue_from_file(), xml_read_from_file(), and xml_write_to_file().
bool file_exists | ( | const String & | filename | ) |
Checks if the given file exists.
filename | File to check. |
Definition at line 353 of file file.cc.
Referenced by find_file().
Gives the default file name for the ASCII formats.
The default name is only used if the file name is empty.
filename | Output: file name |
varname | variable name |
Definition at line 71 of file file.cc.
References out_basename.
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.
filename | File to check. |
extension | Extension tried to be appended to the filename. |
Definition at line 379 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.
file | File pointer |
name | Name of the file to open |
ios_base::failure | Somehow the file cannot be opened. |
Definition at line 160 of file file.cc.
References expand_path().
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.
file | File pointer |
name | Name of the file to open |
ios_base::failure | Could for example mean that the directory is read only. |
Definition at line 97 of file file.cc.
References expand_path().
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
text | Output. The contents fo the file |
name | Name of file to read |
IOError |
Definition at line 238 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!
text | Output. The contents fo the file |
is | Stream from which to read |
IOError | Some error occured during the read |
Definition at line 197 of file file.cc.
Referenced by read_text_from_file().
Replace all occurances of ‘what’ in ‘s’ with ‘with’.
s | Output. The String to act on. |
what | The String to replace. |
with | The replacement. |
Definition at line 296 of file file.cc.
References my_basic_string< charT >::npos.
Referenced by check_newline().