Funciones para trabajar con archivos: Pds::Ra::ElementsInFile(), etc. Más...
Namespaces | |
namespace | Pds |
Nombre de espacio para Pds (Procesamiento Digital de Senales) | |
namespace | Pds::Ra |
Nombre de espacio para RA (Real Arrays) | |
Trabajar con busqueda archivos | |
Salva datos de matrices | |
std::vector< std::string > | Pds::Ra::GetArquives (const std::string &dirpath, Pds::Ra::ArqType Type, const std::string &pattern_include, const std::string &pattern_exclude) |
Retorna los archivos dentro de un directorio (en un nivel solamente y siguiendo algunos criterios). Más... | |
std::vector< std::string > | Pds::Ra::GetFiles (const std::string &dirpath, const std::string &pattern_include="*", const std::string &pattern_exclude="") |
Retorna los ficheros dentro de un directorio (en un nivel solamente y siguiendo algunos criterios). Más... | |
std::vector< std::string > | Pds::Ra::GetSubDirs (const std::string &dirpath, const std::string &pattern_include="*", const std::string &pattern_exclude="") |
Retorna todos los subdirectorios dentro de un directorio (recursivamente y siguiendo algunos criterios). Más... | |
std::vector< std::string > | Pds::Ra::GenPath (const std::string &dirpath) |
Retorna el directorio actual y todos los subdirectorios (recursivamente y siguiendo algunos criterios). Más... | |
std::vector< std::string > | Pds::Ra::GenSignificativeLines (const std::string &filepath) |
Retorna un vector de cadenas con las lineas significativas (no vacias) del archivo. Una linea no significativa solo contiene white-spaces. Más... | |
Trabajar con unión y división de filepaths | |
Salva datos de matrices | |
std::string | Pds::Ra::FullFile (std::vector< std::string > str_text_list) |
Retorna una nueva cadena con un filepath creado por la union de las cadenas de entrada, usando para concatenar Pds::Ra::FileSep. Más... | |
std::string | Pds::Ra::ReplaceExtension (std::string filepath, std::string new_ext) |
Retorna un std::string con un filepath con otra extension de un filepath. Más... | |
std::string | Pds::Ra::Dirname (std::string filepath) |
Retorna un std::string con el directorio de un filepath. Más... | |
std::string | Pds::Ra::Basename (std::string filepath) |
Retorna un std::string con el basename de un filepath. Más... | |
std::string | Pds::Ra::Extension (std::string filepath) |
Retorna un std::string con el extension de un filepath. Más... | |
std::string | Pds::Ra::Filename (std::string filepath) |
Retorna un std::string con el filename de un filepath. Más... | |
Trabajar con verificacion de archivos | |
Salva datos de matrices | |
bool | Pds::Ra::IsFile (std::string path) |
Retorna true si es un fichero existenteste (simbólico o real) no directorio, o false si no. Más... | |
bool | Pds::Ra::IsDir (std::string path) |
Retorna true si es un directorio existenteste (simbólico o real) no fichero, o false si no. Más... | |
Trabajar con cuenta de datos en archivos | |
Salva datos de matrices | |
long | Pds::Ra::SignificativeLinesInFile (const std::string &filepath) |
Retorna el número de lineas significativas de un archivo. Se asume que es un archivo de texto. Más... | |
bool | Pds::Ra::ElementsInFile (const std::string &filepath, unsigned int &Nel) |
Retorna el número de elementos de un archivo. Se asume que es un archivo de texto. Más... | |
bool | Pds::Ra::ArraySizeInFile (const std::string &filepath, unsigned int &Nlin, unsigned int &Ncol) |
Retorna el número de lineas significativas y columnas de un archivo. Se asume que es un archivo de texto. Más... | |
bool | Pds::Ra::ArraySizeInFile (const std::string &filepath, const std::string &sep, unsigned int &Nlin, unsigned int &Ncol) |
Retorna el número de lineas significativas y columnas de un archivo. Se asume que es un archivo de texto. Más... | |
Trabajar con archivos otros | |
Salva datos de matrices | |
char * | Pds::Ra::Fgets (FILE *fd) |
Retorna una linea leida desde un desriptor de fichero de texto. No descarta el salto de linea '\n' y no descarta 1 retorno de carro '\r' si este existe depues del salto de linea. Más... | |
Enumeraciones en RaFile | |
para trabajar con lectura de archivos | |
enum | Pds::Ra::ArqType { Pds::Ra::TYPE_FILE , Pds::Ra::TYPE_DIR } |
Una union de tipo ArqType. Esta union tiene dos tipos de datos tipo directorio y tipo documento. Más... | |
Funciones para trabajar con archivos: Pds::Ra::ElementsInFile(), etc.
enum Pds::Ra::ArqType |
Una union de tipo ArqType. Esta union tiene dos tipos de datos tipo directorio y tipo documento.
Valores de enumeraciones | |
---|---|
TYPE_FILE | Pds::Ra::TYPE_FILE Buscando ficheros excluyendo los simbólicos. |
TYPE_DIR | Pds::Ra::TYPE_DIR Buscando directorios excluyendo los simbólicos. |
Definición en la línea 68 del archivo RaFile.hpp.
std::vector< std::string > Pds::Ra::GetArquives | ( | const std::string & | dirpath, |
Pds::Ra::ArqType | Type, | ||
const std::string & | pattern_include, | ||
const std::string & | pattern_exclude | ||
) |
Retorna los archivos dentro de un directorio (en un nivel solamente y siguiendo algunos criterios).
Retorna una estructura std::vector<std::string> con un vector de nombres de arquivo.
std::vector<std::string> fullnames;
fullnames=Pds::Ra::GetArquives("/home/fernando/data",Pds::Ra::TYPE_FILE,"*.txt","");
Pds::Ra::PrintVectorString(fullnames);
La salida sería:
/home/fernando/data/file1.txt /home/fernando/data/file10.txt /home/fernando/data/file2.txt /home/fernando/data/file21.txt /home/fernando/data/file3.txt
// Alphabetical sort std::sort(fullnames.begin(), fullnames.end()); // Natural sort std::sort(fullnames.begin(), fullnames.end(),Pds::Ra::NaturalCompare);
[in] | dirpath | Camino del directorio en consulta. |
[in] | Type | El tipo de arquivo a leer, pueden ser usados los valores :
|
[in] | pattern_include | Patrón de archivos a incluir solamente. Ej. "*" para todos los archivos. |
[in] | pattern_exclude | Patrón de archivos a excluir. Ej. "" para ninguno de los archivos. |
std::vector< std::string > Pds::Ra::GetFiles | ( | const std::string & | dirpath, |
const std::string & | pattern_include = "*" , |
||
const std::string & | pattern_exclude = "" |
||
) |
Retorna los ficheros dentro de un directorio (en un nivel solamente y siguiendo algunos criterios).
Retorna una estructura std::vector<std::string> con un vector de nombres de arquivo.
std::vector<std::string> fullnames;
fullnames=Pds::Ra::GetFiles("/home/fernando/data","*.txt","");
Pds::Ra::PrintVectorString(fullnames);
La salida sería:
/home/fernando/data/file1.txt /home/fernando/data/file10.txt /home/fernando/data/file2.txt /home/fernando/data/file21.txt /home/fernando/data/file3.txt
// Alphabetical sort std::sort(fullnames.begin(), fullnames.end()); // Natural sort std::sort(fullnames.begin(), fullnames.end(),Pds::Ra::NaturalCompare);
[in] | dirpath | Camino del directorio en consulta. |
[in] | pattern_include | Patrón de archivos a incluir solamente. Ej. "*" para todos los archivos. |
[in] | pattern_exclude | Patrón de archivos a excluir. Ej. "" para ninguno de los archivos. |
std::vector< std::string > Pds::Ra::GetSubDirs | ( | const std::string & | dirpath, |
const std::string & | pattern_include = "*" , |
||
const std::string & | pattern_exclude = "" |
||
) |
Retorna todos los subdirectorios dentro de un directorio (recursivamente y siguiendo algunos criterios).
Retorna una estructura std::vector<std::string> con un vector de nombres de arquivo.
std::vector<std::string> fullnames;
fullnames=Pds::Ra::GetSubDirs("/home/fernando/data","info*","");
Pds::Ra::PrintVectorString(fullnames);
La salida sería:
/home/fernando/data/info1 /home/fernando/data/info10 /home/fernando/data/info2 /home/fernando/data/info21 /home/fernando/data/info3
// Alphabetical sort std::sort(fullnames.begin(), fullnames.end()); // Natural sort std::sort(fullnames.begin(), fullnames.end(),Pds::Ra::NaturalCompare);
[in] | dirpath | Camino del directorio en consulta. |
[in] | pattern_include | Patrón de archivos a incluir solamente. Ej. "*" para todos los archivos. |
[in] | pattern_exclude | Patrón de archivos a excluir. Ej. "" para ninguno de los archivos. |
std::vector< std::string > Pds::Ra::GenPath | ( | const std::string & | dirpath | ) |
Retorna el directorio actual y todos los subdirectorios (recursivamente y siguiendo algunos criterios).
Retorna una estructura std::vector<std::string> con un vector de nombres de arquivo. Los directorios son ordenados naturalmente con Pds::Ra::NaturalCompare().
std::vector<std::string> fullnames;
fullnames=Pds::Ra::GenPath("/home/fernando/data");
Pds::Ra::PrintVectorString(fullnames);
La salida sería:
/home/fernando/data /home/fernando/data/backup /home/fernando/data/info1 /home/fernando/data/info2 /home/fernando/data/info3 /home/fernando/data/info10 /home/fernando/data/info21 /home/fernando/data/lab/others
[in] | dirpath | Camino del directorio en consulta. |
std::vector< std::string > Pds::Ra::GenSignificativeLines | ( | const std::string & | filepath | ) |
Retorna un vector de cadenas con las lineas significativas (no vacias) del archivo. Una linea no significativa solo contiene white-spaces.
std::vector<std::string> line;
line=Pds::Ra::GenSignificativeLines("/home/fernando/filename.txt");
Pds::Ra::PrintVectorString(line);
La salida sería:
No existen lineas vacias. Cada string tiene longitud diferente de cero.
[in] | filepath | Archivo en consulta. |
std::string Pds::Ra::FullFile | ( | std::vector< std::string > | str_text_list | ) |
Retorna una nueva cadena con un filepath creado por la union de las cadenas de entrada, usando para concatenar Pds::Ra::FileSep.
std::string str_out=FullFile({"/usr","share","program_name","icons"});
std::cout<<str_out<<std::endl;
La salida sería:
/usr/share/program_name/icons
[in] | str_text_list | Lista de argumentos a concatenar. |
std::string Pds::Ra::ReplaceExtension | ( | std::string | filepath, |
std::string | new_ext | ||
) |
Retorna un std::string con un filepath con otra extension de un filepath.
std::string filepath="/usr/share/program_name/icons/image.png";
std::cout<<Pds::Ra::ReplaceExtension(filepath,".bmp")<<std::endl;
Retorna:
/usr/share/program_name/icons/image.bmp
std::string Pds::Ra::Dirname | ( | std::string | filepath | ) |
Retorna un std::string con el directorio de un filepath.
std::string filepath="/usr/share/program_name/icons/image.png";
std::cout<<Pds::Ra::Dirname(filepath)<<std::endl;
Retorna:
/usr/share/program_name/icons
std::string Pds::Ra::Basename | ( | std::string | filepath | ) |
Retorna un std::string con el basename de un filepath.
std::string filepath="/usr/share/program_name/icons/image.png";
std::cout<<Pds::Ra::Basename(filepath)<<std::endl;
Retorna:
image.png
std::string Pds::Ra::Extension | ( | std::string | filepath | ) |
Retorna un std::string con el extension de un filepath.
std::string filepath="/usr/share/program_name/icons/image.png";
std::cout<<Pds::Ra::Extension(filepath)<<std::endl;
Retorna:
.png
std::string Pds::Ra::Filename | ( | std::string | filepath | ) |
Retorna un std::string con el filename de un filepath.
std::string filepath="/usr/share/program_name/icons/image.png";
std::cout<<Pds::Ra::Filename(filepath)<<std::endl;
Retorna:
image
bool Pds::Ra::IsFile | ( | std::string | path | ) |
Retorna true si es un fichero existenteste (simbólico o real) no directorio, o false si no.
if(Pds::Ra::IsFile("/usr/share/program_name/icons/image.png"))
std::cout<<"Yes\n";
[in] | path | Dirección de fichero a testar. |
bool Pds::Ra::IsDir | ( | std::string | path | ) |
Retorna true si es un directorio existenteste (simbólico o real) no fichero, o false si no.
if(Pds::Ra::IsDir("/usr/share/program_name/icons"))
std::cout<<"Yes\n";
[in] | path | Dirección de directorio a testar. |
long Pds::Ra::SignificativeLinesInFile | ( | const std::string & | filepath | ) |
Retorna el número de lineas significativas de un archivo. Se asume que es un archivo de texto.
Una linea no significativa solo contiene white-spaces:
long n=Pds::Ra::SignificativeLinesInFile("/home/fernando/data.txt");
std::cout<<n<<"\n";
[in] | filepath | Dirección de archivo a testar. |
bool Pds::Ra::ElementsInFile | ( | const std::string & | filepath, |
unsigned int & | Nel | ||
) |
Retorna el número de elementos de un archivo. Se asume que es un archivo de texto.
Una un elemento e cualquier grupo de caracteres con elementos que no contienen white-spaces:
unsigned int nel;
Pds::Ra::ElementsInFile("/home/fernando/data.txt",nel);
std::cout<<nel<<"\n";
[in] | filepath | Dirección de archivo a testar. |
[out] | Nel | Variable donde se guardara el numero de elementos. |
bool Pds::Ra::ArraySizeInFile | ( | const std::string & | filepath, |
unsigned int & | Nlin, | ||
unsigned int & | Ncol | ||
) |
Retorna el número de lineas significativas y columnas de un archivo. Se asume que es un archivo de texto.
Una linea no significativa solo contiene white-spaces:
unsigned int nlin=0,ncol=0;
bool res=Pds::Ra::ArraySizeInFile("/home/fernando/data.txt",nlin,ncol);
std::cout<<" res:"<<res<<"\n";
std::cout<<"nlin:"<<nlin<<"\n";
std::cout<<"ncol:"<<ncol<<"\n";
[in] | filepath | Dirección de archivo a testar. |
[out] | Nlin | Variable donde se guardara el numero de lineas. |
[out] | Ncol | Variable donde se guardara el numero de columnas. |
bool Pds::Ra::ArraySizeInFile | ( | const std::string & | filepath, |
const std::string & | sep, | ||
unsigned int & | Nlin, | ||
unsigned int & | Ncol | ||
) |
Retorna el número de lineas significativas y columnas de un archivo. Se asume que es un archivo de texto.
Una linea no significativa solo contiene white-spaces:
unsigned int nlin=0,ncol=0;
bool res=Pds::Ra::ArraySizeInFile("/home/fernando/data.csv",",",nlin,ncol);
std::cout<<" res:"<<res<<"\n";
std::cout<<"nlin:"<<nlin<<"\n";
std::cout<<"ncol:"<<ncol<<"\n";
[in] | filepath | Dirección de archivo a testar. |
[in] | sep | Separador de elemento. |
[out] | Nlin | Variable donde se guardara el numero de lineas. |
[out] | Ncol | Variable donde se guardara el numero de columnas. |
char * Pds::Ra::Fgets | ( | FILE * | fd | ) |
Retorna una linea leida desde un desriptor de fichero de texto. No descarta el salto de linea '\n' y no descarta 1 retorno de carro '\r' si este existe depues del salto de linea.
[in] | fd | Descriptor de fichero de texto a analizar. |