/usr/include/terralib/kernel/TeAsciiFile.h is in libterralib-dev 4.3.0+dfsg.2-11.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | /************************************************************************************
TerraLib - a library for developing GIS applications.
Copyright � 2001-2007 INPE and Tecgraf/PUC-Rio.
This code is part of the TerraLib library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
You should have received a copy of the GNU Lesser General Public
License along with this library.
The authors reassure the license terms regarding the warranties.
They specifically disclaim any warranties, including, but not limited to,
the implied warranties of merchantability and fitness for a particular purpose.
The library provided hereunder is on an "as is" basis, and the authors have no
obligation to provide maintenance, support, updates, enhancements, or modifications.
In no event shall INPE and Tecgraf / PUC-Rio be held liable to any party for direct,
indirect, special, incidental, or consequential damages arising out of the use
of this library and its documentation.
*************************************************************************************/
/*! \file TeAsciiFile.h
\brief This file contains structures and definitions to deal ASCII files
*/
#ifndef __TERRALIB_INTERNAL_ASCIIFILE_H
#define __TERRALIB_INTERNAL_ASCIIFILE_H
#include "TeDefines.h"
#include "TeStdFile.h"
#include "TeCoord2D.h"
#include "TeBox.h"
#include <stdio.h>
#include <vector>
#include <string>
using namespace std;
//! A class for handling reading/writing for ASCII files
/*! Simple wrapper around a stdio file. Clientes are all the
functions that imports from ASCII files.
\sa
TeStdFile, TeSPRFile
*/
class TL_DLL TeAsciiFile: public TeStdFile {
public:
//! Contructors
TeAsciiFile(const string& name, const char* mode = "r");
//! Destructor
virtual ~TeAsciiFile();
//! Writes a carriage return character
void writeNewLine ()
{ fprintf ( file_, "\n" ); }
//! Goes to a new line
void findNewLine () ;
//! Reads a string
string readString();
//! Reads a full line up to carriage return
string readLine();
//! Writes a generic string to the file
void writeString (const string& s);
//! Reads a string whithin quotes
string readQuotedString();
//! Reads a comma-separated string ( with a skip character )
string readStringCSV( const char sep = ',', bool skip = false,
const char skip_char = ' ');
//! Reads a character whithin quotes
char readQuotedChar();
//! Reads a character
char readChar();
//! Reads a comma-separated string(ignore spaces)
string readStringCSVNoSpace( const char del = ',');
//! Reads a comma-separated string (ignore quote )
string readStringCSVNoQuote ( const char del = ',' );
//! Reads an integer
int readInt();
//! Reads a comma-separated int
int readIntCSV( const char del = ',');
//! Reads a float
double readFloat();
//! Reads a comma-separated float
double readFloatCSV( const char del = ',');
//! Reads a 2D coordinate ( x, y )
TeCoord2D readCoord2D();
//! Reads a line and put in a stringlist
void readStringList ( vector<string>& );
//! Reads a comma-separated line string and put in a string list
void readStringListCSV ( vector<string>&, const char sep = ',');
//! Reads the first n strings from a comma separated line string and put in a string list
void readNStringCSV ( vector<string>&, unsigned int n, const char sep = ',');
//! Reads a bounding box
TeBox readBox();
//! Reads the entire content of the file, skipping new line characters only
string readAll();
/*! Write a vector os coordinates pairs using the CSV file format (one line per coordinate
pair).
\param coordsVec The input coordinate pairs vector.
\return true if ok, false on errors.
\note 15 digits precision
*/
bool writeCoordPairVect2CSV( const TeCoordPairVect& coordsVec );
/*! Read a vector os coordinates pairs using the CSV file format (one line per coordinate
pair).
\param coordsVec The input coordinate pairs vector.
\return true if ok, false on errors.
*/
bool readCoordPairVect2CSV( TeCoordPairVect& coordsVec );
private:
// No copy allowed
TeAsciiFile(const TeAsciiFile&);
TeAsciiFile& operator=(const TeAsciiFile&);
};
#endif
|