execution de programme - C - Programmation
Marsh Posté le 22-02-2006 à 16:07:22
pour la fenetre jen ai aucune idée pour la page internet tu peux faire ixplore.exe url ou firefox.exe url ca devrait marcher.
Marsh Posté le 22-02-2006 à 16:12:10
ciriak a écrit : Salut,
|
Pourquoi ne pas faire une vraie copie en C ?
#include <stdio.h> |
Tu appeles ce programme en lui passant en paramètre les noms de tes deux fichiers. Tu peux rajouter des contrôles sur argc pour être certain qu'il y a bien 2 arguments et sur la réussite de chaque "fopen" (c'est d'ailleurs conseillé) mais la structure de base est faite...
Marsh Posté le 22-02-2006 à 16:25:12
Dans mon programme, les adresses sont defini au cours du programme, pas passer en arguments.
Pourrai tu me mettre des commentaire sur le programme pour savoir a quoi correspond chaque fonction stp ?
Marsh Posté le 22-02-2006 à 16:43:23
ciriak a écrit : Dans mon programme, les adresses sont defini au cours du programme, pas passer en arguments. |
Euh, c'est carrément élémentaire. Si tu ne sais pas lire ce code, commence par apprendre le langage C.
Marsh Posté le 22-02-2006 à 16:56:37
Emmanuel Delahaye: Pour apprendre il faut poser des questions, si tu ne veux pas partager ne t'ettone pas que tu n'ai pas de reponse un jour.
j'essairai le programme ce soir...
Sinon pour ouvrir la page internet, si quelqu'un sais ??
Marsh Posté le 22-02-2006 à 16:59:47
ciriak a écrit : Emmanuel Delahaye: Pour apprendre il faut poser des questions, si tu ne veux pas partager ne t'ettone pas que tu n'ai pas de reponse un jour. |
Non, pour apprendre il faut commencer par se documenter et savoir chercher les réponses à des questions simples seul. Si pour un bout de code aussi simple t'es pas capable de chercher dans la doc pour comprendre tout seul comment ça marche, t'es pas près de rpogrammer quoi que ce soit tout seul.
Marsh Posté le 22-02-2006 à 17:13:56
je n'est pas le temps de faire des recherche car le suis au boulot et je n'ai pas internet à mon logement, donc je cherchait la solution qui me permettait d'être le moins possible sur le net (ce que je n'ai en théorie pas le droit de faire).
"Merci de votre calaboration" (clin d'oeil "au cinquième élément" )
Marsh Posté le 22-02-2006 à 17:34:55
Bof, il faut bien débuter un jour...
Pour indiquer que le programme a besoin des fonctions d entrée sortie standart (stdio):
#include <stdio.h>
fonction principale:
int main(int argc, char *argv[])
déclarer l utilisation de deux fichier et 1 caractère:
FILE *in;
FILE *out;
int c;
ouvrir les fichiers in et out
in=fopen(argv[1], "rb" );
out=fopen(argv[2], "wb" );
lire un caractère, si ce caractère n est pas EndOfFile
while ((c=fgetc(in)) != EOF)
ecrire le caractère dans fichier out
fputc(c, out);
fermer les fichiers
fclose(in);
fclose(out);
fin
return 0;
Marsh Posté le 22-02-2006 à 17:45:14
ciriak a écrit : Emmanuel Delahaye: Pour apprendre il faut poser des questions, |
Non. Pour apprendre, il faut ouvrir un livre de C ou un tutoriel et se former.
Citation : Sinon pour ouvrir la page internet, si quelqu'un sais ?? |
On t'a déjà répondu :
|
etc. T'arrives à comprendre ou il faut commenter ?
Marsh Posté le 22-02-2006 à 19:28:14
il manque le controle de la valeur retour des fopen
ciriak > pourquoi faire ca en C ?
Marsh Posté le 22-02-2006 à 21:10:35
ciriak a écrit : Dans mon programme, les adresses sont defini au cours du programme, pas passer en arguments. |
Désolé, je sais que les commentaires sont importants mais je ne pensais pas que t'en aurais besoin pour lire un code aussi simple. Bon Nargy a donné des commentaires très corrects. Sinon voici les miens...
// Inclusion des définitions des structures aptes à traiter des fichiers |
Emmanuel Delahaye a écrit :
|
Hum... et dire que j'ai failli lui conseiller d'ouvrir une socket...
On en restera là je crois
Marsh Posté le 22-02-2006 à 21:32:35
ReplyMarsh Posté le 22-02-2006 à 21:39:36
skelter a écrit : Sve@r > tu dois également controler le retour des fonctions fopen et fputc |
Sve@r
Citation : Tu peux rajouter des contrôles sur argc pour être certain qu'il y a bien 2 arguments et sur la réussite de chaque "fopen" (c'est d'ailleurs conseillé) |
Marsh Posté le 22-02-2006 à 21:41:00
skelter a écrit : Sve@r > tu dois également controler le retour des fonctions fopen et fputc |
Exact (quoique pour "fput" je pense que c'est du luxe). Mais je l'ai dit dans mon tout premier post; je donnais juste la base de la structure du programme en conseillant un contrôle sur "argc" et "fopen". En fait, j'avais pas vraiment le temps de fignoler...
Marsh Posté le 22-02-2006 à 21:43:38
skelter a écrit : ok j'ai rien dis |
Mais si, vaut mieux trop en dire que pas assez
Marsh Posté le 23-02-2006 à 10:01:40
merci pour les commentaire
merci pour la page internet
(faut juste que le iexplore.exe ou firefox.exe soit dans le dossier dans lequel est éxecuter le programme compiler en C)
Marsh Posté le 23-02-2006 à 10:16:17
ciriak a écrit : merci pour les commentaire |
Pas besoin, sinon mettre le chemin entier (entre doubles quotes car il peut y avoir des caractères bizarres genre espace...)
Rappel : en C, une double quote se code \" dans une chaine de caractères...
printf ("hello\n" ); /* -> hello */ |
Ce qui est rapidement illisible. Je suggère
#define DQ "\"" |
Marsh Posté le 23-02-2006 à 10:35:02
Le problème c'est que je veux pouvoir passer le programme a d'autre et s'il n'ont pas le même chemin, ça bug...
Marsh Posté le 23-02-2006 à 10:38:28
ciriak a écrit : Le problème c'est que je veux pouvoir passer le programme a d'autre et s'il n'ont pas le même chemin, ça bug... |
Comme je te l'ai dit, essaye déjà sans le chemin. Il est possible que le chemin implicite d'une application aussi importante soit connue du système. Sinon, prévoir un fichier de config, une clé du registre... Programmation d'application classique...
Marsh Posté le 23-02-2006 à 10:50:42
Je pensais, a tord, qu'une page enregistrer sur le l'ordi se lanssait comme une page internet en tapant l'adresse de la page à partir du dossier duquel est lancer l'aplication mais bug...
Je travail hors connexion, j'ai une page internet enregistrer dans un sous dossier de l'endroit ou est lancer l'apllication et sans passer par la racine de l'arborécence, je ne trouve pas...
Marsh Posté le 23-02-2006 à 20:55:30
Salut,
Si sous windows:
Pour la copie:
http://msdn.microsoft.com/library/ [...] pyfile.asp
Code :
|
Pour la page HTML:
http://msdn.microsoft.com/library/ [...] xecute.asp
Code :
|
Marsh Posté le 24-02-2006 à 11:09:11
La copie fonctionne très bien, Merci
Mais l'execution de ShellExecute bug
il ne veux pas complilé le programme à cause d'erreur trouvé dans shellapi.h
par exemple: 97 C:\Program Files\Dev-Cpp\include\shellapi.h 'DWORD' is used as a type, but
Marsh Posté le 24-02-2006 à 12:58:05
Bonjour
Citation : Je pensais, a tord, qu'une page enregistrer sur le l'ordi se lanssait comme une page internet en tapant l'adresse de la page à partir du dossier duquel est lancer l'aplication mais bug... |
Citation : il ne veux pas complilé le programme à cause d'erreur trouvé dans shellapi.h |
Avant de compiler un programme il faut le relire.
Avant de poster un message, c'est aussi très bien de se relire.
J'ai toujours été nul en orthographe mais tout de même pas à ce point.
Marsh Posté le 24-02-2006 à 13:00:04
ça fonctionne sans le handle et pas besoin de shellapi.h
ShellExecute(NULL, "open", "jeu\\moto 3.html", NULL, NULL, SW_SHOWNORMAL);
reste plus qu'à le tester sur une autre machine...
Marsh Posté le 22-02-2006 à 15:58:20
Salut,
Je cherche a faire une programme en C qui fait des copie de fichier j'utilise les commande suivante:
Le problème c'est qu'à chaque commande il m'ouvre (pendant une fraction de seconde) une fenetre DOS (mais c'est quand même casse pied), je voulait savoir s'il y avait moyen de ne pas les voir ?
Autre question: je voudrais ouvrir une page internet à partir du programme, comment faire ?
Merci A++