Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Archivos de texto.
Archivos binarios.
Archivos secuenciales.
Archivos directos (relativos, de accesos directos o aleatorios).
strspn()
Retorna el largo de la porción inicial de una cadena que está formada solamente por los
caracteres presentes en otra.
strstr()
Busca una cadena dentro de otra cadena, retorna un puntero a la subcadena.
strtok()
Divide una cadena en segmentos (o tokens) delimitados por los caracteres char que
indiquemos.
//: C02:Scopy.cpp
// Copy one file to another, a line at a time
#include <string>
#include <fstream>
using namespace std;
int main() {
ifstream in("Scopy.cpp"); // Open for reading
ofstream out("Scopy2.cpp"); // Open for writing
string s;
while(getline(in, s)) // Discards newline char
out << s << "\n"; // ... must add it back
} ///:~
Para abrir los ficheros, únicamente debe controlar los nombres de fichero que se usan
en la creación de los objetos ifstream y ofstream.
Aquí se presenta un nuevo concepto: el bucle while. Aunque será explicado en detalle
en el siguiente capítulo, la idea básica consiste en que la expresión entre paréntesis
que sigue al whilecontrola la ejecución de la sentencia siguiente (pueden ser múltiples
sentencias encerradas entre llaves). Mientras la expresión entre paréntesis (en este
caso getline(in, s) produzca un resultado «verdadero», las sentencias controladas por
el while se ejecutarán. getline() devuelve un valor que se puede interpretar como
«verdadero» si se ha leido otra línea de forma satisfactoria, y «falso» cuando se llega al
final de la entrada. Eso implica que el while anterior lee todas las líneas del fichero de
entrada y las envía al fichero de salida.
getline() lee los caracteres de cada línea hasta que descubre un salto de línea. Sin
embargo, descarta el carácter de nueva línea y no lo almacena en el objeto string. Por
lo que si queremos copiar el fichero de forma idéntica al original, debemos añadir el
carácter de nueva línea como se muestra arriba.
Otro ejemplo interesante es copiar el fichero entero en un único objeto string:
//: C02:FillString.cpp
// Read an entire file into a single string
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream in("FillString.cpp");
string s, line;
while(getline(in, line))
s += line + "\n";
cout << s;
} ///:~
class operaciones{
public:
float lista[255];
int cuantos;
int aux;
float varian;
public:
//para acceder a los atributos de la clase
void setaux(int ac){aux = ac;};
float getcuantos(){return cuantos;};
void setcuantos(int cuanto){cuantos = cuanto;};
void setvalorlist(float val){lista[aux] = val; aux++;};
//calculo:
float prom();
float varianza();
float desviacion();
};
float operaciones::prom(){
float suma = 0;
float promedio = 0;
for(int i=0; i<cuantos; i++){
suma = suma+lista[i];
};
promedio = suma/cuantos;
return promedio;
}
float operaciones::varianza(){
float suma = 0;
varian = 0;
for(int i=0; i<cuantos; i++){
suma = suma + pow(lista[i],2);
};
varian = suma / cuantos;
return varian;
}
float operaciones::desviacion(){
return sqrt(varian);
}
int main(){
system("color c0");
int numvalores;
int salida = 0;
do{
cout<<"Porfavor, ingrese el numero de valores a promediar:"<<endl;
cout<<" "; cin>>numvalores;
cout<<"\n";
operaciones op;
op.setaux(0);
op.setcuantos(numvalores);