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

POSIX C Discussion :

format application/octet-stream et pas txt


Sujet :

POSIX C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 27
    Points
    27
    Par défaut format application/octet-stream et pas txt
    Bonjour,
    en je suis entrain de faire une application en langage C, mon problème c'est qu'on j'ouvre un fichier avec la primitive open au lieux de le creer en format txt le programme le met en format application/octet-stream !!!???? et je comprend pas pourquoi cela le fait !!! et pourtant j'utilisais la meme chose dans un autre programme et il le met au bon format (TXT).
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if((fdFiche=open(argv[3],O_RDWR|O_CREAT|O_APPEND,S_IRWXU))==-1)
    	{
    		perror("Echec en ouverture du Fichier de sauvegarde\n");
    		exit(ERR_OVR);
    	}	
    write(fdFiche,"salut tout le monde\n",20);
    if(close(fdFiche)==-1)
    {
             perror("Echec a la fermeture du ficher");
             exit(99);
    }

    Merci d'avance !!

  2. #2
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    bonjour,

    lié un un type de fichier a son extension en 3 lettre apres le point c'est tres windowsien et absolument pas posix.

    Je comprend pas vraiement la question en fait, quel nom veut tu donner a ton fichier ?
    "vaste programme"

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    en fait supposant que le nom de mon fichier est : toto

  4. #4
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    et ben si tu fais un vi sur ton fichier tu dois voir marqué ton "bonjour le monde".
    T'es bien sur unixoide ?
    "vaste programme"

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    oui en fait c'est ce qui se passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cat toto 
    bonjour le monde !!
    mais je n'arrive pas a l'ouvrir avec un éditeur de texte (gedit par exemple)
    il me marque que c'est impossible de l'ouvrir, et qand je regarde les propriété du fichier c'est marqué (type MIME : application/octet-stream ) !!

  6. #6
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    peut etre qu en ouvrant en mode binaire il te manque le descripteur de debut et de fin de fichier. a voir de ce coté la
    "vaste programme"

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    oula!! je comprend pas trop !!! tu peux m'expliquer encore plus stp ??
    Merci

  8. #8
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    ben il manque des infos a ton fichier :
    peut etre faut lui dire la fin du fichier avec le code ANSI EOT (end of text) et aussi peut etre au debut declarer son type (type fichier texte), mais je ne connais pas la norme dans ce cas.
    "vaste programme"

  9. #9
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    Re

    si t'essaye ce code sur ton unix peut etre tu pourra voir ce qu il te manque
    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
     
    #include <sys/types.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
     
    int main(int argc, char *argv[] )
    {
        int res = EXIT_SUCCESS;
        int fdFichier = 0;
     
        if( ( fdFichier = open( "test.txt", O_RDWR|O_CREAT|O_APPEND,S_IRWXU ) ) == -1 )
    	{
    		printf( "Echec en ouverture du Fichier de sauvegarde\n" );
            res = EXIT_FAILURE;
    	}
        else
        {
            char c = 0;
     
            while( read( fdFichier, &c, 1 ) == 1 )
            {
                printf( "=> %c >_< %d\r\n", c, c );
            }
     
            if( close( fdFichier ) == -1 )
            {
                     printf("Echec a la fermeture du ficher");
                     res = EXIT_FAILURE;
            }
        }
     
        return res;
    }
    mon fichier s'appelle "test.txt" et contient "Helloworld"
    mais je peux pas compiler j ai que windows sous la main
    "vaste programme"

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Merci !! pour tes réponse !
    En fait mon problème c'est que j'écrivais n'importe quoi dans mon fichier des caractères à partir d'un tableau de char qui ne sont pas connu !
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ cat toto
    $ Hello world
    donc effectivement cela nous parait correcte alors que quand on utilise la commande less c'est autre chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ less toto
    $ @^Hello world@^<B1>
    donc de ce fait pour UNIX le ficher toto contient des caractères inconnues donc il n'est pas un fichier texte.

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Javamail] Lecture pièce jointe, content-type: Application/octet-stream
    Par rtsKyo dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 20/06/2013, 17h56
  2. mime par default application / octet-stream
    Par moulery dans le forum Langage
    Réponses: 7
    Dernier message: 28/11/2011, 15h57
  3. dbf et le shp application/octet-stream
    Par moulery dans le forum Langage
    Réponses: 0
    Dernier message: 21/11/2011, 11h01
  4. Réponses: 4
    Dernier message: 10/11/2005, 13h56
  5. mon application ne se ferme pas completement
    Par smail21 dans le forum Bases de données
    Réponses: 6
    Dernier message: 13/09/2005, 15h15

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