IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Ouverture de fichier avec un pointeur


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut Ouverture de fichier avec un pointeur
    Bonjour, je veux ouvrir un fichier avec un pointeur nommé pointeur(original le nom ^^) :

    buffer est un char qui contient une commande genre :

    "lecture:lol.txt"

    Moi je strchr les ":" dans pointeur pour avoir juste :

    ":lol.txt"

    apres je fais pointeur=pointeur+1; pour avoir lol.txt sans les deux points devant. je signal qu'avec un printf le pointeur, j'ai bien : "lol.txt"

    Et voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    char *pointeur;
    pointeur=strchr(buffer, ':');
    pointeur=pointeur+1;
     
    printf("fichier : \n%s\n", pointeur);
     
    FILE *open=NULL;
     
    open=fopen(pointeur, "r");

    le fichier ne s'ouvre pas, open=NULL ^^

    La question est : pourquoi le fichier n'est pas ouvert ?

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    tu es sûr que le fichier existe ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre régulier Avatar de elghadi_mohamed
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 89
    Points
    89
    Par défaut reponse
    verifie l'existence de ton fichier
    Soit A un succès dans la vie. Alors A = x + y + z, où x = travailler, y = s'amuser, z = se taire.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut
    Oui, lol.txt existe bien

  5. #5
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Est-il dans le répertoire de l'application?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open=fopen("lol.txt", "r");
    ça fonctionne correctement ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut
    Oui ca marche parfaitement

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    je vois pas... sincèrement désolé... à ma connaissance, il n'y a vraiment aucune raison que ça plante...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  9. #9
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Comment est initialisé "buffer"?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut
    SNIFFFF
    Ca marche pooo

  11. #11
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lapras123
    SNIFFFF
    Ca marche pooo
    Poste le code exact et complet. On ne sait pas ce que tu as oublié...
    Pas de Wi-Fi à la maison : CPL

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut
    c'est un code sur les socket.
    Franchement j'ai fait des printf de buffer, pointeur ect...
    Ca a bien marché
    Bon si vous voulez je vous passe le code entier, il s'agit d'un code client qui recoit une commande dans un char buffer[].

    La en l'occurence si le serveur demande dans la commencde le mot : lecture, c'est qu'ol veut le listage d'un fichier

    Voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
    #include <string.h>
     
     
    void main()
    {
    WSADATA WSAData;
    WSAStartup(MAKEWORD(2,0), &WSAData);
    SOCKET sock;
    SOCKADDR_IN sin;
    /* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
    sock = socket(AF_INET, SOCK_STREAM, 0);
    sin.sin_addr.s_addr               = inet_addr("127.0.0.1 6667");
    sin.sin_family        = AF_INET;
    sin.sin_port                = htons(6667);
    connect(sock, (SOCKADDR *)&sin, sizeof(sin));
    char buffer[255]="";
    char s[255] = "", *pointeur, contenu[]="", contenu2[]="", fichier[10]="";
    long i=0;
     
    while(1) {
     
    recv(sock, buffer, sizeof(buffer), 0);
    printf("new message : %s\n", buffer);
    if(strstr(buffer, "lecture")!=NULL) {
     
    pointeur=strchr(buffer, ':');
    pointeur=pointeur+1;
     
     
    strcat(fichier, pointeur);
    printf("Fichier : %s\n", fichier);
    sleep(10000);
     
    FILE *open = fopen (fichier, "r");
     
    if(open!=NULL) {
    printf("fichier bon !\n");
    }
    while(fgets(contenu, 1000, open)!=NULL)
    {
    printf("%s", contenu);
    strcat(contenu2, contenu);
    }
    fclose(open);
     
     
    strcat(contenu2, "\r\n");
     
    printf("\nContenu : %s \n\n", contenu2);
     
    send(sock, contenu2, strlen(contenu2), 0);
    }
     
     
    printf("\nMessage envoyer a serveur !\n");
    printf("______________________________\n");
     
     
    }
    closesocket(sock);
    WSACleanup();
    system("PAUSE");
    return 0;
    }
    Voila ^^

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut
    Il semblerait que, pointeur ait un \n et un espace a la fin.
    J'ai remarqué ca grace a un printf ! ^^

  14. #14
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Les messages irc se terminent par \r\n, c'est peut-être pour ça.
    L'itération est humaine; la récursion, divine.

  15. #15
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lapras123
    Bon si vous voulez je vous passe le code entier, il s'agit d'un code client qui recoit une commande dans un char buffer[].

    La en l'occurence si le serveur demande dans la commencde le mot : lecture, c'est qu'ol veut le listage d'un fichier

    Voila le code :
    • main() retourne int. Toujours.
    • Un sleep() de 10 000 secondes ?
    • L'adresse locale, c'est "127.0.0.1" et non "127.0.0.1 6667". Ca pourrait provoquer une erreur...
    • Aucun retour des fonctions sockets n'est testé. Tu espères que tout fonctionne du premier coup ? Quand je lance ton code, j'ai une belle boucle.
    • Que faut-il comme serveur ? Donne le code...
    • Quand à
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
             /* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
      je ne vois rien qui va dans ce sens...
    Pas de Wi-Fi à la maison : CPL

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Points : 24
    Points
    24
    Par défaut
    Le sleep j'lai ajouté pour voir le probleme avant que la console exit .
    L'ip j'vais la changer
    Mon code marche, j'ai testé, mais quelles vérifications dois je faire ?

    Voila ^^

  17. #17
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par lapras123
    Mon code marche, j'ai testé,
    Pas moi. Donne le serveur ou une façon claire de s'y connecter.
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. Réponses: 15
    Dernier message: 23/06/2006, 13h09
  2. Pb d'ouverture de fichier avec ShellExecute
    Par bobirem dans le forum MFC
    Réponses: 4
    Dernier message: 18/05/2006, 16h40
  3. Ouverture de fichier avec un string
    Par slate dans le forum C++
    Réponses: 4
    Dernier message: 17/02/2006, 16h16
  4. ouverture de fichier avec evc4.0
    Par gids01 dans le forum MFC
    Réponses: 4
    Dernier message: 22/11/2005, 13h09
  5. Aide sur ouverture de fichier avec access
    Par FusionR dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/06/2004, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo