Ouvrir un fichier quelconque en C/C++

Bonjour,

Je voudrais savoir comment faire pour ouvrir un fichier en C/C++, non pas pour y écrire ou y lire (fopen), mais simplement l’ouvrir, qu’il apparaisse à l’écran…

Par exemple, de mon programme que je viens de créer, je souhaiterais simplement ouvrir le fichier texte avec le chemin d’accès suivant: C:\readme.txt

Merci bien :slight_smile:

Pour qu’il apparaisse à l’écran, il faut l’ouvrir en lecture (avec fopen), lire tout le contenu avec fread ou fscanf, et l’afficher.

Tu es obligé de passer par fopen de toute façon.

je pense que ce qu’il veut faire c’est “lancer” le fichier

par ex un txt s’ouvre avec le bloc note, une jpg s’ouvre avec son éditeur d’image. comme si tu double clic

Oui, mais si je souhaite ouvrir un éxécutable ce n’est plus possible.

J’ai trouvé la fonction OpenFile:

http://msdn.microsoft.com/library/default…fs/openfile.asp

HFILE OpenFile(

LPCSTR lpFileName,	// pointer to filename 
LPOFSTRUCT lpReOpenBuff,	// pointer to buffer for file information  
UINT uStyle	// action and attributes 

);

Mais je n’arrive pas à configurer la strucutre OFSTRUCT pour mon programme.

C’est un programme 16bits avec le chemin d’accès suivant: C:\LPTC.EXE

voilà exactement :slight_smile:

Dans ce cas, il faut regarder du côté de la fonction system() ou de la famille de fonctions execl, execlp… Je ne programme pas sous windows donc je ne sais pas trop ce qui est disponible. system("notepad c:\readme.txt") devrait marcher je pense.

Effectivement, la fonction system() fonctionne pour tout type de fichier.

Merci pour votre aide :jap:

j’aime bien les iostream perso :o

Oui iostream j’aime bien aussi, mais es-ce-que sous Linux par exemple il y a un “fopen” similaire à Windows?

fopen peut passer d’une platforme à une autre?

fopen fonctionne aussi sous linux :oui:

iostream & fopen font partis respectivement de la stl et du C-ANSI, donc standard.