示例#1
0
int main(int argc, char** argv) {
    float salario_Bruto, salario_Liquido;
    float hora_aula, horas_trabalhadas;
    
    printf("Digite o valor da hora aula: ");
    hora_aula = entrada();
    printf("Quantas horas de aula foi dada este mês: ");
    horas_trabalhadas = entrada();
    salario_Bruto = salarioBruto(hora_aula, horas_trabalhadas);
    salario_Liquido = inss(salario_Bruto);
    printf("%f é o seu salário bruto. \n", salario_Bruto);
    printf("%f é o seu salário Liquido. \n", salario_Liquido);
    return (EXIT_SUCCESS);
}
示例#2
0
XBSh::XBSh(QObject *_parent)
    : QObject(_parent)
{
    this->gerenciador_lancamento = new GerenciadorLancamento(this);
    this->stdin = new StandardInput(gerenciador_lancamento);


    QObject::connect( this->stdin, SIGNAL(entrada(QString)),
                      this, SLOT(recebeEntrada(QString)));

    QObject::connect( this->gerenciador_lancamento, SIGNAL(recebiEntrada(QString)),
                      this, SLOT(recebeEntrada(QString)));

    QObject::connect( this->gerenciador_lancamento, SIGNAL(endStdOut(QString)),
                      this,SLOT(displayStdOut(QString)));

    QObject::connect( this->gerenciador_lancamento, SIGNAL(falhaAoStartProcesso(QString)),
                      this, SLOT(erroAoStart(QString)));

    QObject::connect( this->gerenciador_lancamento, SIGNAL(processoTerminado(int)),
                      this,SLOT(terminated(int)));

    this->displayBoasVindas();
    this->stdin->start();
}
示例#3
0
int mapa(struct personagem adv) {
    sala1("Final");
    corredor(adv);
    entrada(adv);
    hall(adv);
    return 0;
}
示例#4
0
void ZGui::CargarMenu1()
{
  QPixmap p1;
  QString line;
  QFile entrada("/ezxlocal/LinXtend/usr/bin/cron/user.txt");
  QTextStream stentrada(&entrada);
  if ( entrada.open(IO_ReadOnly | IO_Translate) )
  {
	while ( !stentrada.eof() )
	{
	  line = stentrada.readLine();
	  if ( line != "" )
	  {
		  ZListBoxItem* autoitem = new ZListBoxItem ( zllb1, QString ( "%I%M" ) );
		  p1=QPixmap(iconReader.getIcon("calen_schedule_tab", false));
		  QImage image; image = p1.convertToImage(); 
		  image = image.smoothScale(18, 17); p1.convertFromImage(image);
		  autoitem->setPixmap ( 0, p1 );
		  QString name = line;
		  int i = name.find("/",0); name.remove(0,i);
		  i= name.findRev("/"); if ( i!=name.length() ) name.remove(0,i+1);
		  autoitem->appendSubItem ( 1, name, false, NULL );
		  QString campos = line;
		  i = campos.findRev( QChar(' ') ); campos.remove(i,campos.length()-i);
		  autoitem->appendSubItem ( 1, campos, false, NULL );
		  zllb1->insertItem ( autoitem,-1,true );
      }
	}
  }

}
示例#5
0
int main(int argc, char **argv)
{
    char **matrix; /* Matriz auxiliar */
    
    /* Verifica se um argumento foi passado na
     * linha de comando */
    if(argc != 2) 
    {
        printf("\n%s\n", usage_message);
        return EXIT_FAILURE;
    }
    
    /* Recebe entrada a partir do nome do arquivo */
    if((matrix = entrada(argv[1])) == NULL)
    {
        printf("\n%s\n", error_message);
        return EXIT_FAILURE;
    }
    
    /* Converte mneumônicos do HIPO em código de 
     * máquina a partir da sintaxe correta */
    if((matrix = analyse_convert(matrix)) == NULL)
    {
        printf("\n%s\n", error_message);
        return EXIT_FAILURE;
    }
    
    /* Cria o arquivo de saída (extensão .hip) */
    saida(matrix, last_line, argv[1]);
    
    return EXIT_SUCCESS;
}
示例#6
0
int main(int argc, char *argv[]){
  pthread_t *corredores;
  int i, d;
  char c;

  srand(time(NULL));

  entrada(argv[1], &c, &d);
  
  /* Inicialização*/
  biker = malloc(num_cic*sizeof(ciclista));
  printf("Tour de France\n");
  printf("Nome\t Vel. Plano\t Vel. Subida\t Vel. Descida\n");
  for( i = 0; i < num_cic; i++){
    biker[i] = inicia_ciclista(c, i);
    imprime_ciclista(biker[i]);
  }

  /* "Largada" */
  corredores = malloc(num_cic*sizeof(pthread_t));
  correndo = num_cic;
  for( i = 0; i < num_cic; i++)
    pthread_create( &(corredores[i]), NULL, loop, (void *) &(biker[i]));
  for( i = 0; i < num_cic; i++)
    pthread_join( corredores[i], NULL );

  /* Chegada */
  imprime_final();

 return 0;
}
示例#7
0
int main()
{
    entrada();
	calculo(a);
	imprime();
	return 0;
}
示例#8
0
void FinalA::guardarArchivo(stDatos &datos){

	// Archivo de entrada. Abro el archivo de entrada en modo binario.
	ESArchivoCpp entrada("./archivos/FinalA_Entrada1.bmp",true,false);

	// Archivo de salida
	ESArchivoCpp salida("./archivos/FinalA_Salida.bmp",false,false);

	// Escribo todo el archivo original, para despues ir pisando los datos que necesito actualizar
	char* archivoCompleto = NULL;
	unsigned int tamanioArchivoCompleto = entrada.leerArchivo(&archivoCompleto);
	salida.escribirEnArchivo(archivoCompleto,datos.offsetDatos);
	if( archivoCompleto != NULL ) delete[] archivoCompleto;

	// Escribo el byte 2: Tamaño del archivo.
	unsigned int tamanioArrayDuplicado = (datos.cantidadFilas * 2) * ( datos.anchoFilaDoble );
	unsigned int tamanioArchivo = datos.offsetDatos + tamanioArrayDuplicado;
	salida.escribirEnArchivo((char*)&tamanioArchivo,2, sizeof(unsigned int));

	// Escribo el byte 18: Ancho en pixeles de la imagen.
	int anchoEnPixeles = datos.anchoPix * 2;
	salida.escribirEnArchivo( (char*)&anchoEnPixeles , 18 , sizeof(int) );					
	
	// Escribo el byte 22: Alto en pixeles de la imagen.
	int altoEnPixeles = datos.altoPix * 2;
	salida.escribirEnArchivo( (char*)&altoEnPixeles , 22 , sizeof(int) );

	// Escribo los nuevos valores del array duplicado
	salida.escribirEnArchivo((char*)datos.arrayPixelesDuplicados,datos.offsetDatos,tamanioArrayDuplicado);

	return void();
}
示例#9
0
void sonora::configurar_de_arquivo(QFile *Arquivo) {
    QTextStream entrada(Arquivo);
    Num_Notas = entrada.readLine().toInt();
    for (int i=0;i<Num_Notas;i++) {
        Musica[i][0] = entrada.readLine().toInt();
        Musica[i][1] = entrada.readLine().toInt();
        Musica[i][2] = entrada.readLine().toInt();
    }
    Arquivo->close();
}
示例#10
0
void Mapa::GeraEntrada()
{
	int ind = 1 + ( rand() % (getTam() - 3));
	Posicao entrada(ind, 0);
	setPosEntrada(entrada);
	int x = getPosEntrada().getX();
	int y = getPosEntrada().getY();

	int pos = ind * getTam() + 0;
	getCasa()[pos].setSprite(ENTRADA_SPRITE);
	getCasa()[pos].setTipo(ENTRADA_TIPO); 
}
示例#11
0
int main()
{
        char divisaInicial, divisaFinal;
        double cantidad, cantidadConvertida;

        printf("Programa para de conversión de divisas.\n");
        entrada(&divisaInicial,&divisaFinal,&cantidad);
        cantidadConvertida=conversion(divisaInicial,divisaFinal,cantidad);
        salida(cantidadConvertida);

        system ("PAUSE");
        return 0;
}
bool ClassificadorAdaboostM1::carregarConhecimento( string arquivo ) {
    //return false;
    ifstream entrada(arquivo.c_str());

    if(!entrada.is_open()) {
        return false;
    }

    string valor = "";
    char ch;
    bool continua = false;

    while ((ch = entrada.get()) != '\n') {
        if (ch == '"') {
            continua = !continua;
            if (!valor.empty())
                valores.push_back(valor);
            valor = "";
        } else {
            if (continua) {
                valor += ch;
            }
        }
    }

    int iteracoes = betas.size();

    entrada >> iteracoes;
    betas.resize(iteracoes, 0);
    classificadores.resize(iteracoes, NULL);
    for (int i = 1; i < iteracoes; i++) {
        entrada >> betas[i];
    }

    string tipo;

    entrada >> tipo;

    string extensao = arquivo.substr(arquivo.rfind("."),arquivo.length());
    arquivo = arquivo.substr(0, arquivo.rfind("."));

    for (int i = 0; i < iteracoes; i++) {
        ostringstream os;
        os << arquivo << i << extensao;
        if (tipo.find("ClassificadorStump"))
            classificadores[i] = new ClassificadorStump();
        (classificadores[i])->carregarConhecimento(os.str());
    }

    return true;
}
示例#13
0
bool NetworkEngine::tryToReconnect()
{
	std::ifstream entrada(SERVER_DATA_FILENAME, std::ifstream::in);
	std::string server;
	std::string port;
	std::string password;
	std::string listPos;
	if(!entrada.good()) //No hay fichero o no se puede abrir
	{
		return false;
	}
	std::getline(entrada, listPos);
	std::getline(entrada, server, (char)('|'+3));
	std::getline(entrada, port); //No se utiliza por ahora
	std::getline(entrada, password);
	entrada.close();

	if(server.length() == 0) //El fichero esta vacio?
	{
		return false;
	}

	decode(server);

	std::cout << "Encontrado server para reconectarse\n";
	//std::cout << "Server ip: " << server << std::endl;
	//std::cout << "Password: " << password << std::endl;

	bool connnectionAttempSuccess = connectToServer(server, password);

	if(!connnectionAttempSuccess) //Ha fallado al conectarse
	{
		return false;
	}

	unsigned int timeout = 1000;
	bool connectionSuccess = waitUntilConnected(timeout);
	
	if(!connectionSuccess)
	{
		removeServerFile();
		close();
		startClient();
	}
	else
	{
		aux = atoi(listPos.c_str());
	}

	return connectionSuccess;
}
示例#14
0
文件: BD.cpp 项目: tureba/CBIR
QVector<float> BD::carregaVet(QString arquivo)
{
	QFile _arq(arquivo);
	if (!_arq.open(QIODevice::ReadOnly | QIODevice::Text))
		return QVector<float>(0);

	QDataStream entrada(&_arq);

	QVector<float> resultado;

	entrada >> resultado;
	_arq.close();

	return resultado;
}
示例#15
0
Grafo::Grafo(std::string file) {
    std::ifstream entrada(file);
    if (entrada.fail()) 
        throw std::runtime_error("Error en fichero");
    entrada >> _V;
    _E = 0;
    _adj.resize(_V);
    size_t e;
    entrada >> e;
    size_t v, w;
    for (auto i = 0; i < e; ++i) {
        entrada >> v;
        entrada >> w;
        ponArista(v, w);
    }
    entrada.close();
}
示例#16
0
void ZGui::removetask()
{
  ZConfig IDini(Idioma, false);
  QString val = IDini.readEntry(QString("CRONTAB"), QString("REMOVE"), "");
  ZMessageDlg* msg =  new ZMessageDlg ( "Cron", val, ZMessageDlg::yes_no, 0, NULL, "ZMessageDlg", true, 0 );
  int i = msg->exec();
  delete msg;
  msg = NULL;
  if (i)
  {
	qApp->processEvents();
	int index = zllb1->currentItem();
	if (index == -1) {return;}
	int result = index+1;
	QString app = zllb1->item(index)->getSubItemText(1,0,true);

	QString line, TEXTO; int numlinea=0;
	QFile entrada("/ezxlocal/LinXtend/usr/bin/cron/user.txt");
	QTextStream stentrada(&entrada);
	if ( entrada.open(IO_ReadOnly | IO_Translate) )
	{
	  while ( !stentrada.eof() )
	  {
		line = stentrada.readLine();
		if ( line != "" )
		{
		  QString name = line;
		  int i = name.find("/",0); name.remove(0,i);
		  i= name.findRev("/"); if ( i!=name.length() ) name.remove(0,i+1);
		  if ( name != app ) 
		  {
			if ( numlinea==0 ) { TEXTO += QString("%1").arg(line); numlinea=1; }
			else { TEXTO += QString("\n%1").arg(line); }
		  }
		}
	  }
	}
	entrada.close();
	system(QString("echo \"%1\" > /ezxlocal/LinXtend/usr/bin/cron/user.txt").arg(TEXTO));
	zllb1->clear(); CargarMenu1();
  }
}
示例#17
0
void automovil( void *id ){
	int ent,tie,sal,i;
//	for(i=0;i<NEJECUCIONES;i++)
	while(1)
	{
		ent = rand()%NENTRADAS;
		tie = rand()%5;
		sal = rand()%NSALIDAS;

		int id2 = (int) id;
		//printf("id2: %d",id2);

		int lug = entrada(id,ent);
		pthread_mutex_unlock(&C1);
		tiempo(tie);
		salida(id,sal,lug);
		pthread_mutex_unlock(&C1);
	}
	sleep(3);
}
示例#18
0
int main(int argc, const char **argv){

      int sumador,entcol,entfila,entinput;


    
    for(int i=0;i<9;i++){
	for(int i2=0;i2<9;i2++){

	sumador += tabla[i][i2];

      while(tabla[i][i2]==0)
      entrada(entcol,entfila,entinput);
    }}
    if(sumador==405)
    
    printf("has ganado! \n");

    return EXIT_SUCCESS;
}
示例#19
0
void FinalA::leerArchivo(stDatos &datos){

	// Archivo de entrada. Abro el archivo de entrada en modo binario.
	ESArchivoCpp entrada("./archivos/FinalA_Entrada1.bmp",true,false);
	
	// Leo el byte 2: Tamaño del archivo.
	entrada.leerArchivo( (char*)&datos.tamanioArchivo , 2 , sizeof(unsigned int) );	
	
	// Leo el byte 10: Offset de inicio de los datos.
	entrada.leerArchivo( (char*)&datos.offsetDatos , 10 , sizeof(unsigned int) );	

	// Leo el byte 18: Ancho en pixeles de la imagen.
	entrada.leerArchivo( (char*)&datos.anchoPix, 18 , sizeof(int) );					
	
	// Leo el byte 22: Alto en pixeles de la imagen.
	entrada.leerArchivo( (char*)&datos.altoPix, 22 , sizeof(int) );

	// Calculo el alto y ancho real, incluyendo los bytes de padding. Valores en bytes.
	unsigned int bytesPorPixel = 3;			// Un byte por cada color: (B,G,R)
	unsigned int alineacion = 4;			// Alineación en bytes
	unsigned int anchoEnBytesSinPadding = ( datos.anchoPix * bytesPorPixel);
	unsigned int paddingPorLinea = ( ( alineacion - (anchoEnBytesSinPadding % alineacion) ) % alineacion );
	unsigned int anchoEnBytesConPadding = anchoEnBytesSinPadding + paddingPorLinea;

	// Guardo los valores calculados
	datos.bytesPorPixel = bytesPorPixel;
	datos.anchoFila = anchoEnBytesConPadding;
	datos.cantidadFilas = datos.altoPix;
	datos.paddingAplicado = paddingPorLinea;

	// Guardo los datos de todos los pixeles
	unsigned int tamanioArrayPixeles = ( datos.anchoFila * datos.cantidadFilas );
	datos.arrayPixeles = new unsigned char[tamanioArrayPixeles];
	entrada.leerArchivo( (char*)datos.arrayPixeles , datos.offsetDatos , tamanioArrayPixeles );

	return void();
}
示例#20
0
void Tarea1::on_Leer_clicked()
{
    ifstream entrada(ui->Direccion->text().toStdString().c_str(), ios::in | ios::binary);
    entrada.seekg(0, ios::end);

    entrada.seekg(90,ios::beg);
    int cantidad;
    entrada.read((char*)&cantidad,4);
    int *pos = new int[cantidad];
    entrada.seekg(100,ios::beg);
    for(int i=0; i<cantidad; i++){
        entrada.read((char*)&pos[i],4);
        cout<<"Posicion"<<pos[i]<<endl;
    }

    char* nombre = new char[cantidad];
    for(int i=0; i<cantidad; i++){
            entrada.seekg(pos[i], ios::beg);
            entrada.read((char*)(&nombre[i]), 1);
            cout<<"Nombre: "<<nombre[i]<<endl;
    }

    entrada.close();
}
示例#21
0
void ListaGeometria::carregar () {
    ifstream entrada ("./geometrias.dat", ios::in);
    
    if (!entrada) {
        cerr << "Arquivo nao pode ser aberto." << endl;
        fflush (stdin);
        cout << endl << "Pressione uma tecla para continuar." << endl;
        cout << ">> ";
        cin.get ();
        return;
    }

    string linha, linha2;
    string tipoS;
    int tipo;
    while (entrada.good()) {
        getline (entrada, linha);

        if (linha.length () == 0) {
            break;
        }
        
        tipoS = linha.substr (0, 1);
        tipo = atoi (tipoS.c_str());
        linha.replace (0, 1, " ");
        linha2 = linha.substr (1, linha.length ()-1);
        incluir (tipo, linha2);
    }

    entrada.close();
    cout << endl << "Carregamento encerrado com sucesso." << endl;
    cout << endl << "Pressione uma tecla para continuar." << endl;
    cout << ">> ";
    cin.get ();
    return;
}
示例#22
0
int main()
{
	imprime(calculo(entrada()));
	return 0;
}
示例#23
0
void ZGui::appClicked1()
{
	qApp->processEvents();
	int index = zllb1->currentItem();
	if (index == -1) {return;}
	int result = index+1;
	QString app = zllb1->item(index)->getSubItemText(1,0,true);

	QString line, TEXTO;
	QFile entrada("/ezxlocal/LinXtend/usr/bin/cron/user.txt");
	QTextStream stentrada(&entrada);
	if ( entrada.open(IO_ReadOnly | IO_Translate) )
	{
	  while ( !stentrada.eof() )
	  {
		line = stentrada.readLine();
		if ( line != "" )
		{
		  QString name = line;
		  int i = name.find("/",0); name.remove(0,i);
		  i= name.findRev("/"); if ( i!=name.length() ) name.remove(0,i+1);
		  if ( name == app )
		  {
			QString minuto = line; int j=0;
			i = minuto.find(" ",0); minuto.remove(i,minuto.length()-i); j=j+i+1;
			system(QString("echo \"%1\"").arg(minuto));
			QString hora = line; hora.remove(0,j); 
			system(QString("echo \"%1\"").arg(hora));
			i = hora.find(" ",0); hora.remove(i,hora.length()-i); j=j+i+1;
			QString dia1 = line; dia1.remove(0,j);
			system(QString("echo \"%1\"").arg(dia1));
			i = dia1.find(" ",0); dia1.remove(i,dia1.length()-i); j=j+i+1;
			QString mes = line; mes.remove(0,j);
			system(QString("echo \"%1\"").arg(mes));
			i = mes.find(" ",0); mes.remove(i,mes.length()-i); j=j+i+1;
			QString dia2 = line; dia2.remove(0,j);
			system(QString("echo \"%1\"").arg(dia2));
			i = dia2.find(" ",0); dia2.remove(i,dia2.length()-i);

			ZConfig IDini(Idioma, false);
			i= name.findRev("/"); if ( i!=name.length() ) name.remove(0,i+1);
			QString val = IDini.readEntry(QString("CRONTAB"), QString("NAME"), "");
			TEXTO = QString("%1: %2\n").arg(val).arg(name);
			val = IDini.readEntry(QString("CRONTAB"), QString("HOUR"), "");
			TEXTO += QString("%1: %2\n").arg(val).arg(hora);
			val = IDini.readEntry(QString("CRONTAB"), QString("MINUTE"), "");
			TEXTO += QString("%1: %2\n").arg(val).arg(minuto);
			val = IDini.readEntry(QString("CRONTAB"), QString("DAYMONTH"), "");
			TEXTO += QString("%1: %2\n").arg(val).arg(dia1);
			val = IDini.readEntry(QString("CRONTAB"), QString("MONTH"), "");
			TEXTO += QString("%1: %2\n").arg(val).arg(mes);
			val = IDini.readEntry(QString("CRONTAB"), QString("DAYWEEK"), "");
			TEXTO += QString("%1: %2\n").arg(val).arg(dia2);
			val = IDini.readEntry(QString("CRONTAB"), QString("DIR"), "");
			TEXTO += QString("%1: %2").arg(val).arg(app);
			ZMessageDlg* msg =  new ZMessageDlg ( "Cron", TEXTO, ZMessageDlg::just_ok, 0, NULL, "ZMessageDlg", true, 0 );
			msg->setTitleIcon("task_list_std");
			msg->exec();
			delete msg;
			msg = NULL;
			
		  }
		}
	  }
	}
	entrada.close();

}
示例#24
0
int main()
{
    entrada();
	return 0;
}
示例#25
0
int main()
{
    entrada();
   	imprime(a);
	return 0;
}
示例#26
0
int main(int argc, char* argv[])
{
    entrada(argv);
     return 0;
}
示例#27
0
// Toma una imagen BMP 24-bit y le deja solo el componente verde de la misma
void FinalA::pruebaPintaVerde(void){
	ESArchivoCpp entrada("./archivos/FinalA_Entrada3.bmp",true,false);
	ESArchivoCpp salida("./archivos/FinalA_Salida.bmp",false,false);

	unsigned int tamanioArchivo = 0;
	entrada.leerArchivo( (char*)&tamanioArchivo , 2 , sizeof(unsigned int) );	// 2: Offset al tamanio de archivo, sacado del enunciado
	std::cout << "Tamanio del archivo (leido del BMP): " << tamanioArchivo << "\n";

	unsigned int offsetDatos = 0;
	entrada.leerArchivo( (char*)&offsetDatos , 10 , sizeof(unsigned int) );	// 10: Offset al offset de inicio de los datos, sacado del enunciado
	std::cout << "Offset a los datos del BMP: " << offsetDatos << "\n";

	int ancho = 0;
	entrada.leerArchivo( (char*)&ancho , 18 , sizeof(int) );		// 18: Offset al ancho en pixels de la imagen, sacado del enunciado
	std::cout << "Ancho de la imagen BMP: " << ancho << "\n";

	int alto = 0;
	entrada.leerArchivo( (char*)&alto , 22 , sizeof(int) );			// 22: Offset al alto en pixels de la imagen, sacado del enunciado
	std::cout << "Alto de la imagen BMP: " << alto << "\n";

	unsigned int anchoConPadding = (3 * ancho) + ( 4 - ((3 * ancho)%4) ) % 4;	// Ojo: Cada fila está alineada con bloques de 4 bytes, si es necesario tiene padding al final de la misma
	unsigned int tamanioDatos = (alto * anchoConPadding);
	std::cout << "El tamanio de la cabecera + los datos es: " << offsetDatos + tamanioDatos << "\n";

	unsigned char* datos = new unsigned char[tamanioDatos];
	entrada.leerArchivo( (char*)datos , offsetDatos , tamanioDatos );

	// Nota: El formato de los colores es >>> (B,G,R)
	for( unsigned long i = 0; i < alto; i++){		// Azul
		unsigned int filasAnt = i * anchoConPadding;
		for( unsigned long j = 0; j < (3 * ancho); j+=3){
			unsigned short numero = 0;
			datos[filasAnt + j] = (unsigned char)numero;	// Saco la componente azul
		}
	}

	for( unsigned long i = 0; i < alto; i++){		// Verde
		unsigned int filasAnt = i * anchoConPadding;
		for( unsigned long j = 1; j < (3 * ancho); j+=3){
			unsigned short numero = 255;
			//datos[filasAnt + j] = (unsigned char)numero;  // Al verde no le hago nada
		}
	}

	for( unsigned long i = 0; i < alto; i++){		// Rojo
		unsigned int filasAnt = i * anchoConPadding;
		for( unsigned long j = 2; j < (3 * ancho); j+=3){
			unsigned short numero = 0;
			datos[filasAnt + j] = (unsigned char)numero;	// Saco la componente roja
		}
	}

	char* archivoCompleto = NULL;
	unsigned int tamanioArchivoCompleto = entrada.leerArchivo(&archivoCompleto);

	salida.escribirEnArchivo(archivoCompleto,tamanioArchivoCompleto);
	salida.escribirEnArchivo((char*)datos,offsetDatos,tamanioDatos);

	delete[] datos;
	if( archivoCompleto != NULL ) delete[] archivoCompleto;

	return void();
}