Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - aiuto per fopen!
Forum - C/C++ - aiuto per fopen!

Avatar
Il_maca (Normal User)
Rookie


Messaggi: 49
Iscritto: 19/12/2008

Segnala al moderatore
Postato alle 20:52
Domenica, 08/03/2009
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <iostream>
  5. #include <conio.h>
  6. #include <string>
  7. using namespace std;
  8.  
  9. int main(){
  10.         FILE* usb;
  11.         string a;
  12.         cout<<"Inserire la lettera della periferica dove salvare il file di riconoscimento: ";
  13.         cin>>a;
  14.         a=a+"://ciao.dat";
  15.         usb=fopen(a,"a+");
  16.        
  17.         fclose(usb);           
  18.        
  19. }



ERRORE:
g++.exe  -x c++ -c C:\DOCUME~1\AMMINI~1\Desktop\PROGRA~1\prog -o C:\DOCUME~1\AMMINI~1\Desktop\PROGRA~1\prog.o  -Wall -fpermissive  -Wno-sign-compare -g
C:\DOCUME~1\AMMINI~1\Desktop\PROGRA~1\prog: In function `int main()':
C:\DOCUME~1\AMMINI~1\Desktop\PROGRA~1\prog:20: error: cannot convert `std::string' to `const char*' for argument `1' to `FILE* fopen(const char*, const char*)'
Failure

il programma è semplice, dando in input la lettera di una perioferica, deve costruirmi un file di dati nella periferica!! ora se io scrivo nella fopen "I://ciao.dat" funziona, ma se scrivo la variabile no!!aiuto!!!come posso farla andare??

Ultima modifica effettuata da Il_maca il 08/03/2009 alle 21:11


Il computer non è una macchina intelligente che aiuta le persone stupide.
E' una macchina stupida che funziona solo nelle mani delle persone intelligenti.
Programmatore, non per lavoro, ma per passione!!
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:27
Domenica, 08/03/2009
Se mischi codice C++ e codice C, devi prevederlo ... scrivi

usb=fopen(a.c_str(),"a+");

oppure non usare la fopen ma le classi di I/O del C++ ...


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
Il_maca (Normal User)
Rookie


Messaggi: 49
Iscritto: 19/12/2008

Segnala al moderatore
Postato alle 17:23
Lunedì, 09/03/2009
Testo quotato

Postato originariamente da theprogrammer:

Se mischi codice C++ e codice C, devi prevederlo ... scrivi

usb=fopen(a.c_str(),"a+");

oppure non usare la fopen ma le classi di I/O del C++ ...



okok, provo!! scusami, ma purtroppo il mio C-C++ è molto mischiato!! il mio prof ha fatto lezioni uniche non spioegandoci bene la differenza fra i due linguaggi!! e purtroppo ho imparato questo ibrido!!


ok provata e funziona!! grazie davvero tanto!!!

Ultima modifica effettuata da Il_maca il 09/03/2009 alle 17:26


Il computer non è una macchina intelligente che aiuta le persone stupide.
E' una macchina stupida che funziona solo nelle mani delle persone intelligenti.
Programmatore, non per lavoro, ma per passione!!
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 15:55
Martedì, 10/03/2009
è vero. I professori non spiegano le differenze tra quei due linguaggi....
anche la mia prof delle superiori ha spiegato le funzioni di IO del c pur usando classi e funzioni c++

sarebbe anche ora che nella scuola si facesse un po di chiarezza su queste cose, invece lasciano agli studenti il compito di farlo e quasi nessuno lo fa mai


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Avatar
Il_maca (Normal User)
Rookie


Messaggi: 49
Iscritto: 19/12/2008

Segnala al moderatore
Postato alle 19:19
Martedì, 10/03/2009
Testo quotato

Postato originariamente da lorenzo:

è vero. I professori non spiegano le differenze tra quei due linguaggi....
anche la mia prof delle superiori ha spiegato le funzioni di IO del c pur usando classi e funzioni c++

sarebbe anche ora che nella scuola si facesse un po di chiarezza su queste cose, invece lasciano agli studenti il compito di farlo e quasi nessuno lo fa mai



purtroppo noi abbiamo le ore di informatica, dove studiamo il java; e poi le ore di sistemi dove studiamo tutti gli altri linguaggi! in un anno e mezzo abbiamo fatto tante cose ma male! purtroppo il mio itis prevede l'indirizzo abacus(informatico) solo dal terzo anno, e quindi è tutto molto....superfluo!!


Il computer non è una macchina intelligente che aiuta le persone stupide.
E' una macchina stupida che funziona solo nelle mani delle persone intelligenti.
Programmatore, non per lavoro, ma per passione!!
PM Quote