comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

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

  • 1 Respuestas
  • 901 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sadfud

  • *
  • Moderador
  • Mensajes: 181
  • Actividad:
    0%
  • Reputación 9
    • Ver Perfil
    • Blog
  • Skype: SadFud
« en: Noviembre 13, 2016, 03:15:06 pm »
Buenas underc0deanos, esta vez vengo con un problema al realizar un ejercicio en C++, el enunciado es el siguiente:
Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
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:
Código: C++
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. int inverso(int num);
  7. void lectura();
  8. void escritura(int inverso);
  9. int main() {
  10.         lectura();
  11.         system("pause");
  12.         return 0;
  13. }
  14.  
  15. int inverso(int num) {
  16.         int auxiliar = 0;
  17.         do {
  18.                 auxiliar = auxiliar * 10 + (num % 10);
  19.                 num = num / 10;
  20.         } while (num > 0);
  21.         return num;
  22. }
  23.  
  24. void escritura(int inverso) {
  25.         ofstream archivo;
  26.         archivo.open("output.txt");
  27.         archivo << inverso;
  28.         archivo.close();
  29. }
  30.  
  31. void lectura() {
  32.         ifstream archivo;
  33.         int numero;
  34.         archivo.open("input.txt");
  35.         while (archivo >> numero){
  36.                 escritura(inverso(numero));            
  37.         }
  38.         archivo.close();
  39. }

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
« Última modificación: Noviembre 13, 2016, 04:00:03 pm por Gabriela »
Mi blog: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Si necesitas ayuda, no dudes en mandar MP

Desconectado grep

  • *
  • Underc0der
  • Mensajes: 178
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
    • Grep's personal site
« Respuesta #1 en: Noviembre 15, 2016, 02:12:03 am »
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).

Citar
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.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

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() No tienes permisos para ver links. Registrate o Entra con tu cuenta) o con una ruta absoluta (No tienes permisos para ver links. Registrate o Entra con tu cuenta).

fuente:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Saludos
« Última modificación: Noviembre 15, 2016, 02:19:29 am por grep »

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] Problema con Softice 4.05 Help, SoftICE is not active.

Iniciado por d3vilz5

Respuestas: 1
Vistas: 1712
Último mensaje Mayo 17, 2013, 11:52:31 pm
por Krapermors
Problema con conexión de troyano pierdo la conexion

Iniciado por Nitro_X_Net

Respuestas: 6
Vistas: 1580
Último mensaje Julio 13, 2015, 03:35:57 am
por .:UND3R:.
Booteo en Dell Inspiron Mini "problema"

Iniciado por KnarBlack

Respuestas: 2
Vistas: 581
Último mensaje Febrero 19, 2018, 11:44:52 pm
por KnarBlack
AVs CMLS Registry workshop.. Problema.! "Otra vez yo"

Iniciado por Zobek

Respuestas: 0
Vistas: 1019
Último mensaje Julio 11, 2016, 06:19:19 pm
por Zobek
[SOLUCIONADO] Problema con el systemd en MJ (systemd-modules-load.service)

Iniciado por Thereldor

Respuestas: 1
Vistas: 899
Último mensaje Abril 05, 2016, 11:50:05 pm
por Thereldor