Stocker du texte dans une varaible en C
Fermé
Pouic182
Messages postés
15
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
12 février 2010
-
28 août 2009 à 12:35
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 31 août 2009 à 08:29
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 31 août 2009 à 08:29
A voir également:
- Stocker du texte dans une varaible en C
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Mettre un texte en majuscule - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Transcription texte en audio - Guide
8 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
28 août 2009 à 12:54
28 août 2009 à 12:54
Salut.
Il faut dans ce cas là utiliser les pointeurs.
En C, utilise les fonctions malloc et calloc. Il faut compter le nombre de caractère.
Il faut dans ce cas là utiliser les pointeurs.
En C, utilise les fonctions malloc et calloc. Il faut compter le nombre de caractère.
Pouic182
Messages postés
15
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
12 février 2010
1
28 août 2009 à 13:52
28 août 2009 à 13:52
Merci pour ta rapidité de réponse!
Est ce que c'est bon si je déclare mon pointeur de cette façon :
char* tableau_texte;
tableau_texte = calloc (999999 , sizeof(char));
Car après si je fais un :
nombre_de_caractere=recv(id_socket,tableau_texte,sizeof(tableau_texte),0);
Je ne récupére que les 8 premiers caractères de mon texte. . .
Verrais-tu une erreur dans ce que j'ai écrit ?
Est ce que c'est bon si je déclare mon pointeur de cette façon :
char* tableau_texte;
tableau_texte = calloc (999999 , sizeof(char));
Car après si je fais un :
nombre_de_caractere=recv(id_socket,tableau_texte,sizeof(tableau_texte),0);
Je ne récupére que les 8 premiers caractères de mon texte. . .
Verrais-tu une erreur dans ce que j'ai écrit ?
Pouic182
Messages postés
15
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
12 février 2010
1
28 août 2009 à 13:55
28 août 2009 à 13:55
Mwai à part que je suis obligé de le faire en C et que j'ai déjà pas mal avancé ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
28 août 2009 à 14:45
28 août 2009 à 14:45
Il y a realloc aussi.
je ne vois pas d'erreur dans ce que tu as écrit sur les pointeur.
Par contre dans le recv oui. sizeof donne la taille d'un tableau, pas la taille d'une zone de mémoire alloué par malloc ou calloc, dans les cas différents du tableau il donne la taille mémoire occupé par la variable, et dans le cas d'un pointeur, c'est 8 octets (64 bits) ce qui me laisse supposé que ton processeur est un 64 bits.
là il faut écrire :
recv(id_socket,tableau_texte,999999,0);
Là ça devrai fonctionner.
je ne vois pas d'erreur dans ce que tu as écrit sur les pointeur.
Par contre dans le recv oui. sizeof donne la taille d'un tableau, pas la taille d'une zone de mémoire alloué par malloc ou calloc, dans les cas différents du tableau il donne la taille mémoire occupé par la variable, et dans le cas d'un pointeur, c'est 8 octets (64 bits) ce qui me laisse supposé que ton processeur est un 64 bits.
là il faut écrire :
recv(id_socket,tableau_texte,999999,0);
Là ça devrai fonctionner.
Pouic182
Messages postés
15
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
12 février 2010
1
28 août 2009 à 16:46
28 août 2009 à 16:46
Ca fonctionne un peu miex c'est vrai, merci!
En revanche, je n'arrive toujours pas a récupérer l'intégralité de mon texte, même en augmentant la taille de que j'alloue...
de plus, j'ai l'impression que la quantité de texte récupérer est aléatoire par moment.
Une dernière piste?
En revanche, je n'arrive toujours pas a récupérer l'intégralité de mon texte, même en augmentant la taille de que j'alloue...
de plus, j'ai l'impression que la quantité de texte récupérer est aléatoire par moment.
Une dernière piste?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
31 août 2009 à 08:29
31 août 2009 à 08:29
Si ça se trouve, il faut renforcer la lecture de ton texte. Je n'ai jamais essayé de lire de très gros fichiers comme ça. Il est possible que l'OS ou la RAM se trouve limité en vitesse et génère des erreurs, il faut donc avoir une gestion d'erreurs super pointilleuse.