Oui, tu as corrigé de toi-même et j'ai corrigé mon message.
Le plus simple est naturellement d'utiliser la valeur de retour de la fonction :
char *fonction(void)
{
printf("debut...
Type: Messages; Utilisateur: diogene
Oui, tu as corrigé de toi-même et j'ai corrigé mon message.
Le plus simple est naturellement d'utiliser la valeur de retour de la fonction :
char *fonction(void)
{
printf("debut...
Sans discuter le fait qu'utiliser des variables globales est une très mauvaise idée, ta fonction fonction() ne fait pas ce que tu crois :
- string est une variable locale (initialisée par...
Oui ...
... mais nomFich contient l'adresse du premier élément du tableau local ligne et c'est donc cette adresse qui est retournée. Comme les objets locaux sont détruits en sortie de la...
- @iTEEECH : Ton strncpy() n'utilise pas n ! C'est un simple copier-coller de ton strcpy()
- @esired :
Et pourquoi donc ? La différence entre deux pointeurs est parfaitement bien définie
-...
Comme Bktero le souligne, il n'y a aucune contrainte sur l'ordre en mémoire des variables locales.
Par contre, cet ordre est respecté pour les éléments (champs) d'une structure, d'où peut être ta...
J'ai mis en commentaires (//) les lignes non indispensables à la compréhension de ce que fait le programme (mais ne sont pas à supprimer pour autant) et mes remarques en commentaires (/* */)
char ...
Je n'ai pas trop compris ce que tu veux dire mais à la lecture du code
char *location=strdup(dossier);
...
ptr_loc=realloc(location,sizeof(char)*(strlen(location)+strlen(nomFichier)));
if(...
Tu as fait pas mal de corrections pendant que je te répondais.
Il reste une erreur ici
ptr_loc=realloc(location,sizeof(char)*(strlen(location)+strlen(nomFichier)));
car tu as oublié de compter...
char *location=strdup(dossier);/* j'alloue la même taille que dossier ex: dossier fait 12 char j'ai alors 12*4 bit d'allouer pour mon pointeur*/
FILE *fichier;...
...
char *location=strdup(dossier);
FILE *fichier;
strcat(location,nomFichier);
...
strdup() alloue de la mémoire pour stocker un duplicata de la chaine dossier. Il n'y a pas de place pour y...
Dans la fonction ORInsert(), tu fais un realloc() qui peut changer l'adresse mémoire.
Cette éventuelle nouvelle adresse n'est pas répercutée dans la fonction appelante Add_Passage() et...
Pourquoi ne pas allouer dynamiquement un tableau de 4 DECOUPE_TIF_STRUC, les remplir par recvfrom() et renvoyer l'adresse du premier élément de ce tableau ?
Tu n'as pas construit du tout une liste chainée : on ne voit nulle part comment chaque enregistrement est lié aux enregistrements précédents.
Chaque nouvelle allocation a son adresse mise dans new_t...
Non, c'est inexact. Il accepte une entrée "2812.25 18" avec entre les nombres (et devant le premier des deux) autant de blancs que tu veux.
Une autre possibilité est d'adapter le format pour un format qui lit tout (format %[]) s'arrête sur le '\n' (à cause du ^\n), puis qui lit (%c) et ignore le '\n' (à cause de *) :
...
C'est surtout qu'il est faux
data[i][j].p_str = " Bonjour ";
ne copie pas dans la chaine allouée par calloc() la chaine "bonjour", mais copie l'adresse de la chaine "bonjour" dans...
Pourquoi passer par une structure ? Une chaine est un tableau de char. Tu as besoin d'un tableau 2D de chaines, autrement dit d'un tableau 3D de char. Par exemple :
char tab2D[x][y][nbChar];...
Tu n'es pas assez attentif.
env2->buffer = malloc(4096 * sizeof(char*));
cd = malloc(my_strlen(env2->buffer) * sizeof(char*));
cd1 = malloc(my_strlen(env2->buffer) * sizeof(char*));
tmp...
Oui. Mais la question n'a pas plus de sens que la question de l'égalité des deux flottants testé avec l'opérateur == : A partir du moment où on considère que l'égalité est indéterminée, les questions...
Cela revient à définir un nouvel ensemble d'opérateurs de comparaison. Au lieu de a==b, le nouvel et virtuel opérateur 'égal' correspond à (a-b) < epsilon
On doit normalement également préciser de...
C'est ça que je ne crois pas possible : le nombre |a| est codé par une certaine approximation de sa valeur réelle. Celle-ci peut être, (1) la plus grande valeur codable inférieure ou égale à |a|, (2)...
Evidemment, elles peuvent être vues comme égales. Mais ça, c'est la question classique de la comparaison à l'égalité de deux flottants. Cela ne correspond pas à l'exemple cité dans le premier post.
Je ne comprend pas l'exemple que tu cites : Si |a|<|b|, je ne vois pas comment la valeur codée pour |a| pourrait être supérieure à la valeur codée pour |b|
Personnellement, "cacher" un pointeur me gêne souvent alors que "cacher" un tableau, en général, ne me gêne pas.
La raison est qu'un pointeur n'est presque jamais représentatif de l'abstraction...
Pour mon compte, si j'avais à utiliser plusieurs fois un tTab, je prendrais peut être la première formulation. Si c'est purement occasionnel, je prendrais sans doute la deuxième.
C'est selon le...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.