Aprire file, linguaggio c(c++/c#) o un altro?

Stato
Discussione chiusa ad ulteriori risposte.

paolo_99

Utente Bronze
27 Aprile 2016
25
12
0
38
A scuola stiamo programmando in c++ e la prof. mi ha detto che non c'è modo in c++ di aprire un file di testo. Per aprire intendo che se digito un qualcosa o richiamo qualche funzione mi si apra visualmente il file in questione(come se facessi doppio click sul file ma da programma).
Allora chiedo a voi si può fare in c++ altrimenti in c#? Se no in quale altro linguaggio?
 
Se lo vuoi aprire con tanto di interfaccia grafica devi fare in modo di crearla e gestirla, se apri semplicemente il file, invece, devi gestire tutto da codice per farlo apparire sul terminale.
Puoi usare c# per creare facilmente l'interfaccia ( GUI ) e caricare in un box di testo il contenuto del file.
 
Se lo vuoi aprire con tanto di interfaccia grafica devi fare in modo di crearla e gestirla, se apri semplicemente il file, invece, devi gestire tutto da codice per farlo apparire sul terminale.
Puoi usare c# per creare facilmente l'interfaccia ( GUI ) e caricare in un box di testo il contenuto del file.

La mia idea era quella di creare un file bat e questo lo so fare, poi cliccando un pulsante o scrivendo qualcosa in caso di c++ fare in modo che si aprisse, ma il contenuto può anche non essere caricato in un box, l'importante è che si apra. Così si possono fare un sacco di cose in automatico.
 
in c++ non ho idea se esita, ma con C ci sono le system call che ti permettono di aprire un file, usando la funzione open() oppure fopen().
 
Codice:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main (int argc, char *argv[]){

int fd;
char buf[]="qui metti quello che vuoi scrivere dentro al file";

fd=open("path name del file", O_RDWR, O_CREAT|O_EXCL); \*con questa istruzione apri il file selezionato nel path name, con permessi di lettura e scrittura, ed inoltre se il file non esiste lo crea.*\



write(fd, buf, size buf); \* con questa istruzione scriviamo sul file con file descriptor fd, la stringa buf, a partire dall offset corrente, visto che non abbiamo usato alcuna funzione per modificare l'offset scriverò all'inizio del file./*


}

Dimmi se era quello che cercavi :)
 
Codice:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main (int argc, char *argv[]){

int fd;
char buf[]="qui metti quello che vuoi scrivere dentro al file";

fd=open("path name del file", O_RDWR, O_CREAT|O_EXCL); \*con questa istruzione apri il file selezionato nel path name, con permessi di lettura e scrittura, ed inoltre se il file non esiste lo crea.*\



write(fd, buf, size buf); \* con questa istruzione scriviamo sul file con file descriptor fd, la stringa buf, a partire dall offset corrente, visto che non abbiamo usato alcuna funzione per modificare l'offset scriverò all'inizio del file./*


}

Dimmi se era quello che cercavi :)
Da come ha scritto @paolo_99 mi sembra che intenda aprire visualmente il file, cioé che compare il blocco note o qualcosa di simile. Se stai usando Windows prova con

C:
#include <stdlib.h>

int main(){
system("NOTEPAD.EXE nomefile.txt"); //in pratica richiamo il blocco note di Windows
}
 
Da come ha scritto @paolo_99 mi sembra che intenda aprire visualmente il file, cioé che compare il blocco note o qualcosa di simile. Se stai usando Windows prova con

C:
#include <stdlib.h>

int main(){
system("NOTEPAD.EXE nomefile.txt"); //in pratica richiamo il blocco note di Windows
}
Si intendevo esattamente quello sai anche come si chiude? E se lo volessi fare aprendo un file bat come si fa?
 
Stato
Discussione chiusa ad ulteriori risposte.