Bonjour,
cela fait 1 semaine que j'essaie de faire ca sans resultat...
je recupère par liaison usb des octets (quantité de 0 à 524288)
je les stoque dans un tableau de caractère declaré en variable pulique comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part char Donnees[524290];ensuite je souhaite enregistrer ces donnees et quelles prennent le moins de place possible sur disque
pour cela je fabrique un fichier texte avec chacun de mes octets comme code de caractère, à la suite, sans espace ni mise en forme :
cela me donne un fichier texte illisible mais cela correspond à ce que je souhaite puisque j'obtiens un fichier de 300ko par exemple si j'ai recupéré 300ko de données par l'USB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 FILE *fichier; unsigned long int k; fichier = fopen( "le premier fichier créé.txt", "w+"); for (k = 0 ; k < NombreOctetAEcrire ; k=k+1) { fprintf(fichier, "%c", Donnees[k] ); } fclose(fichier);
C'est là que ca se gatte...
Je souhaite ensuite récupérer ces données "archives" et créer un autre fichier texte, ordonné après traitement des données ;
En d'autre termes, je veux récupérer mes octets !
pour cela j'ai essayé de charger le contenu du fichier texte dans un AnsiString comme le montre la faq :
ce code fonctionne avec les fichiers textes "lisibles" mais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 AnsiString Chaine; TStringList *List = new TStringList; List->LoadFromFile("le premier fichier créé.txt"); Chaine = List->Text; delete List; unsigned long int longueur = Chaine.Length(); //on recupère la longueur de la chaine //on verifie... lb_FichierArchiveOuvert->Caption = longueur ;
la longueur de l'ansistring Chaine est égale à zero quand j'ouvre "le premier fichier créé.txt" (le fichier archive que j'ai créé avec le code ci_enhaut) !
par exemple, si je fabrique avec le blocnote un fichier texte avec 0123456789 ecrit dedans, j'obtient une Chaine de longueur 12...normal...
Cette meme chaine fait une longueur nulle si j'execute le code sur un fichier texte de 510ko créé avec le code ci-enhaut.
: A quoi cela est il du ?
: Comment puis-je charger un tableau de char avec mes octets rangés dans le fichier texte ?
: Peut etre qu'il ne faut pas faire comme ca pour stoquer des octets dans un fichier...???
merci mille fois d'avance
Partager