problema programma c++!!!!!!?
E un semplice programma di lettura file...il file esiste e contiene dei nomi...quando vado a compilare non ci sono problemi..ma poi quando eseguo a video esce solo lo schermo nero! Qualcuno sa dirmi dov'è che sbaglio?!
questo è il programma:
#include<iostream>
#include<stdio.h>
#include <stdlib.h>
using namespace std;
int main ()
{
FILE* nm;
nm = fopen("nomi.txt","r");
char nomi[1000];
while ( fgets(nomi,1000,nm) != NULL);
cout << nomi;
system("pause");
return 0;
}
Comments
manca il controllo se il file viene effettivamente aperto per l'input
FILE* nm;
nm = fopen("nomi.txt","r");
// ----- righe da aggiungere
if ( nm == NULL ) {
perror( "Errore in apertura file" );
exit(1);
}
// ----
Non ho ben capito che procedura hai usato ma in c++ si usano gli stream per raccogliere dati dal file e te stai usando tutto tranne che quelli
#include <iostream>
#include <fstream>
using namespace std;
ifstream nm;
int main(){
nm.open("nomi.txt");
char nomi[1000];
int a(0);
while(nm.get(nomi[a]))
a++;
for(int b=0;b<a;b++)
cout<<nomi[b];
cout<<endl;
system("pause");
return 0;
}
Questo è un uso degli stream(e si usano gli stream in c++), ovviamente nome.txt deve essere nella stessa cartella dell'eseguibile(altrimenti bisogna aggiungere il path)
Hai messo il file nella stessa cartella dell'eseguibile? Altrimenti non lo trova e devi scrivere tutto il percorso
include <stdio.h>
#deï¬ne MaxK 100
int main()
{
int k = 0, n[MaxK + 1], x;
FILE *f = fopen("zaporedje.txt", "rt");
while (1 == fscanf(f, "%d", &x)) {
if (x > k) n[x] = 0;
k = x; n[k]++; }
printf("%d", k); for (x = 1; x <= k; x++) printf(" %d", n[x]); printf("\n");
fclose(f); return 0;
}