This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Problema con el control de flujo en lectura y escritura de archivos en C++

  • 1 Replies
  • 2522 Views

0 Members and 1 Guest are viewing this topic.

Offline sadfud

  • *
  • Moderador
  • Posts: 214
  • Actividad:
    0%
  • Country: cl
  • Reputación 11
    • View Profile
    • Blog
Buenas underc0deanos, esta vez vengo con un problema al realizar un ejercicio en C++, el enunciado es el siguiente:
Code: You are not allowed to view links. Register or Login
Escribe un programa que genere un archivo output.txt en el que aparezcan invertidos los números enteros positivos que haya en otro archivo input.txt. Contempla dos alternativas de formato del fichero input.txt:
• En la primera, cada línea contiene un número entero y termina en una línea con un 0 (centinela). Por ejemplo:
input.txt

1234
56
1000
-987
54321
0
<eof>
output.txt
4321
65
0001
12345
<eof>

El codigo que he escrito es el siguiente:
Code: (cpp) You are not allowed to view links. Register or Login
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int inverso(int num);
void lectura();
void escritura(int inverso);
int main() {
lectura();
system("pause");
return 0;
}

int inverso(int num) {
int auxiliar = 0;
do {
auxiliar = auxiliar * 10 + (num % 10);
num = num / 10;
} while (num > 0);
return num;
}

void escritura(int inverso) {
ofstream archivo;
archivo.open("output.txt");
archivo << inverso;
archivo.close();
}

void lectura() {
ifstream archivo;
int numero;
archivo.open("input.txt");
while (archivo >> numero){
escritura(inverso(numero));
}
archivo.close();
}

El programa evidentemente no funciona
He colocado un breakpoint en la linea "archivo.open(input.txt);" y en tiempo de ejecuccion obtengo el siguiente error "{_Filebuffer={_Pcvt=0x00000000 <NULL> _Mychar=0 '\0' _Wrotesome=false ...} }"

A alguien se le ocurrre cual puede ser el fallo?

Gracias de antemano
« Last Edit: November 13, 2016, 04:00:03 pm by Gabriela »
Mi blog: You are not allowed to view links. Register or Login
Si necesitas ayuda, no dudes en mandar MP

Offline grep

  • *
  • Underc0der
  • Posts: 188
  • Actividad:
    0%
  • Reputación 4
    • View Profile
    • Grep's personal site
Supongo que el error es que no encuentra el archivo input.txt. Cuando estas depurando un programa C++ en Visual Studio, por defecto el Working Directory es el directorio del proyecto (no el de la solución ni tampoco el directorio Debug).

Quote
Debugging category
Working Directory
Specifies the working directory of the program being debugged, relative to the project directory where your EXE is located. If you leave this blank, the working directory is the project directory. For remote debugging, the project directory will be on the remote server.
You are not allowed to view links. Register or Login

Puedes cambiar el Working Directory ya sea configurando el proyecto o desde el código del programa, o por otro lado podrías direccionar al archivo en base al Working Directory (el path del WD lo puedes obtener con _getcwd() You are not allowed to view links. Register or Login) o con una ruta absoluta (You are not allowed to view links. Register or Login).

fuente:
You are not allowed to view links. Register or Login

Saludos
« Last Edit: November 15, 2016, 02:19:29 am by grep »