He empezado a programar en C++ hace apenas nada, no llega a una semana. Sin embargo ya estaba familiarizado de antes con PHP y C++, solo que este último no lo di apenas en profundidad y también fue por muy poco tiempo.
Estoy haciendo al mismo tiempo un curso que estoy leyendo en internet, asi que es normal si veis errores gordos por ahí.. aunque el código me compila sin problemas y se ejecuta todo. Lo que pasa es que no me da el resultado esperado:
[He puesto varios Sleep() para que cuando se ejecute el programa, saber que está pasando paso por paso].
Código
#include <iostream> #include <stdlib.h> #include <stdio.h> #include <windows.h> #include <fstream> using namespace std; int main() { char* acts; bool estan; char* num; //creamos el archivo .txt donde almacenar las actualizaciones instaladas. // Si ya existe simplemente lo abre cout << "Analizando archivo de actualizaciones.." << endl; Sleep(1000); FILE *fichacts; fichacts = fopen("getActs.txt", "a"); cout << "Fichero analizado. "; Sleep(1000); cout << "Leyendo la informacion del fichero." << endl; Sleep(342); rewind(fichacts); // Fichero rebobinado al principio // Ahora lee el contenido // El contenido del archivo lo guarda en una variable llamada acts acts = fgets(acts, 7, fichacts); // Metemos la condición para leer que está instalado switch (*acts) { case 'ps1000': printf("Esta instalado ps1000.\n"); case 'ps1001': printf("Esta instalado ps1001.\n"); case 'ps1002': printf("Esta instalado ps1002.\n"); case 'ps1003': printf("Esta instalado ps1003.\n"); case 'ps1004': printf("Esta instalado ps1004.\n"); case 'ps1005': printf("Esta instalado ps1005.\n"); case 'ps1006': printf("Esta instalado ps1006.\n"); case 'ps1007': printf("Esta instalado ps1007.\n"); case 'ps1008': printf("Esta instalado ps1008.\n"); case 'ps1009': printf("Esta instalado ps1009.\n"); break; default: printf("No esta correcto..\n"); } system("pause"); return 0; }
La finalidad de todo esto es que el programa cree un archivo .txt . En ese archivo txt puede que no haya nada, o puede que ya haya algo escrito, que en este caso sería ps1000, ps1001...
Lo que yo busco es que el programa lea el archivo.txt, y que si pone ps1000, ps1001, ps1002, etc. muestre que está instalado ese pack, y que si no, que muestre el mensaje 'No esta correcto..'.
En todos los casos, aún habiendo escrito yo ps1000 en el .txt, me muestra siempre 'No esta correcto..', pero sin embargo si que hay contenido en el .txt
¿A qué se debería? Desde ya gracias!