Oui. Le problème est résolu si on ajoute un retour chariot après la
dernière ligne.
Le fichier test.txt n'est pas saisi à la main. Mais, il est généré
automatiquement. Il est bien formé et comme vous savez la dernière
ligne ne contient pas de retour chariot. Mais, elle contient la marque
de fin du fichier.
Comment on peut résoudre ce problème sans l'ajout du retour chariot
après la dernière ligne ?
Oui. Le problème est résolu si on ajoute un retour chariot après la
dernière ligne.
Le fichier test.txt n'est pas saisi à la main. Mais, il est généré
automatiquement. Il est bien formé et comme vous savez la dernière
ligne ne contient pas de retour chariot. Mais, elle contient la marque
de fin du fichier.
Comment on peut résoudre ce problème sans l'ajout du retour chariot
après la dernière ligne ?
Oui. Le problème est résolu si on ajoute un retour chariot après la
dernière ligne.
Le fichier test.txt n'est pas saisi à la main. Mais, il est généré
automatiquement. Il est bien formé et comme vous savez la dernière
ligne ne contient pas de retour chariot. Mais, elle contient la marque
de fin du fichier.
Comment on peut résoudre ce problème sans l'ajout du retour chariot
après la dernière ligne ?
programmation wrote:
> Oui. Le problème est résolu si on ajoute un retour chariot apr ès la
> dernière ligne.
> Le fichier test.txt n'est pas saisi à la main. Mais, il est génér é
> automatiquement. Il est bien formé et comme vous savez la derniè re
> ligne ne contient pas de retour chariot. Mais, elle contient la marque
> de fin du fichier.
> Comment on peut résoudre ce problème sans l'ajout du retour chariot
> après la dernière ligne ?
Tu peux modifier :
nAttribLength = strlen(sLine)-6;
par
nAttribLength = strlen(sLine)-6 + 1;
et
fprintf(pFileOut, "%s%sn", dataTabString[j].sNum,
dataTabString[j].sAttrib);
par
fprintf(pFileOut, "%s%s", dataTabString[j].sNum, dataTabString[j].sAttrib );
Ca permet de garder le retour chariot dans chaque variable
dataTabString[j].sAttrib
et de le recopier tel quel lors de l'écriture dans le 2ème fichier.
programmation wrote:
> Oui. Le problème est résolu si on ajoute un retour chariot apr ès la
> dernière ligne.
> Le fichier test.txt n'est pas saisi à la main. Mais, il est génér é
> automatiquement. Il est bien formé et comme vous savez la derniè re
> ligne ne contient pas de retour chariot. Mais, elle contient la marque
> de fin du fichier.
> Comment on peut résoudre ce problème sans l'ajout du retour chariot
> après la dernière ligne ?
Tu peux modifier :
nAttribLength = strlen(sLine)-6;
par
nAttribLength = strlen(sLine)-6 + 1;
et
fprintf(pFileOut, "%s%sn", dataTabString[j].sNum,
dataTabString[j].sAttrib);
par
fprintf(pFileOut, "%s%s", dataTabString[j].sNum, dataTabString[j].sAttrib );
Ca permet de garder le retour chariot dans chaque variable
dataTabString[j].sAttrib
et de le recopier tel quel lors de l'écriture dans le 2ème fichier.
programmation wrote:
> Oui. Le problème est résolu si on ajoute un retour chariot apr ès la
> dernière ligne.
> Le fichier test.txt n'est pas saisi à la main. Mais, il est génér é
> automatiquement. Il est bien formé et comme vous savez la derniè re
> ligne ne contient pas de retour chariot. Mais, elle contient la marque
> de fin du fichier.
> Comment on peut résoudre ce problème sans l'ajout du retour chariot
> après la dernière ligne ?
Tu peux modifier :
nAttribLength = strlen(sLine)-6;
par
nAttribLength = strlen(sLine)-6 + 1;
et
fprintf(pFileOut, "%s%sn", dataTabString[j].sNum,
dataTabString[j].sAttrib);
par
fprintf(pFileOut, "%s%s", dataTabString[j].sNum, dataTabString[j].sAttrib );
Ca permet de garder le retour chariot dans chaque variable
dataTabString[j].sAttrib
et de le recopier tel quel lors de l'écriture dans le 2ème fichier.
- Quelle est modification à faire dans votre programme pour qu'il
tourne dans tous les cas quelque soit le nombre des lignes du fichier
et la taille de deuxième champ du fichier ?
- Vous mettez #define STEP 10;
10 présente quoi ?
- Vous mettez char sAttrib[32]; et nColumn[32] = {0};
pourquoi vous fixez la taille à 32 ? car on peut avoir la taille de
chaine en général supérieure à 32 ou inférieur à 32 .
- Vous avez alloué et réalloué un tableau
Pouvez m'expliquer le principe d'utilisation d'un tableau avec
réserve et rallouable et car j'ai découvert cette structure avec
vous ? Dans quels cas à utiliser ? les avantages et les limites de
cette structure ?
- Quelle est modification à faire dans votre programme pour qu'il
tourne dans tous les cas quelque soit le nombre des lignes du fichier
et la taille de deuxième champ du fichier ?
- Vous mettez #define STEP 10;
10 présente quoi ?
- Vous mettez char sAttrib[32]; et nColumn[32] = {0};
pourquoi vous fixez la taille à 32 ? car on peut avoir la taille de
chaine en général supérieure à 32 ou inférieur à 32 .
- Vous avez alloué et réalloué un tableau
Pouvez m'expliquer le principe d'utilisation d'un tableau avec
réserve et rallouable et car j'ai découvert cette structure avec
vous ? Dans quels cas à utiliser ? les avantages et les limites de
cette structure ?
- Quelle est modification à faire dans votre programme pour qu'il
tourne dans tous les cas quelque soit le nombre des lignes du fichier
et la taille de deuxième champ du fichier ?
- Vous mettez #define STEP 10;
10 présente quoi ?
- Vous mettez char sAttrib[32]; et nColumn[32] = {0};
pourquoi vous fixez la taille à 32 ? car on peut avoir la taille de
chaine en général supérieure à 32 ou inférieur à 32 .
- Vous avez alloué et réalloué un tableau
Pouvez m'expliquer le principe d'utilisation d'un tableau avec
réserve et rallouable et car j'ai découvert cette structure avec
vous ? Dans quels cas à utiliser ? les avantages et les limites de
cette structure ?
Skander Fekih wrote:
> - Quelle est modification à faire dans votre programme pour qu'il
> tourne dans tous les cas quelque soit le nombre des lignes du fichier
> et la taille de deuxième champ du fichier ?
Aucune normalement (tes histoires de rewind, c'est à éviter : il ne f aut
pas lire n fois un même fichier, surtout s'il fait des millions de lign es..)
La taille du 2ème champ dépend ici de la longueur de la ligne moins l a
taille fixe du premier champ
Le nombre de lignes n'a pas d'importance.
> - Vous mettez #define STEP 10;
> 10 présente quoi ?
Tu le vois bien dans le code : c'est le nombre d'éléments qu'on réa lloue
à chaque fois qu'on a atteint le nombre d'éléments max déjà alloués.
> - Vous mettez char sAttrib[32]; et nColumn[32] = {0};
> pourquoi vous fixez la taille à 32 ? car on peut avoir la taille de
> chaine en général supérieure à 32 ou inférieur à 32 .
C'est juste pour l'exemple.
C'est pour définir une taille max pour le 2ème champ.
Tu peux mettre 1000 si tu veux avoir de la marge...
> - Vous avez alloué et réalloué un tableau
> Pouvez m'expliquer le principe d'utilisation d'un tableau avec
> réserve et rallouable et car j'ai découvert cette structure avec
> vous ? Dans quels cas à utiliser ? les avantages et les limites de
> cette structure ?
Il y a divers sites où c'est mieux expliqué que je ne le ferais
("Dynamic Arrays" dans Google)
Par ex,http://www.utdallas.edu/~rxc064000/dynamicArrays.html
Skander Fekih wrote:
> - Quelle est modification à faire dans votre programme pour qu'il
> tourne dans tous les cas quelque soit le nombre des lignes du fichier
> et la taille de deuxième champ du fichier ?
Aucune normalement (tes histoires de rewind, c'est à éviter : il ne f aut
pas lire n fois un même fichier, surtout s'il fait des millions de lign es..)
La taille du 2ème champ dépend ici de la longueur de la ligne moins l a
taille fixe du premier champ
Le nombre de lignes n'a pas d'importance.
> - Vous mettez #define STEP 10;
> 10 présente quoi ?
Tu le vois bien dans le code : c'est le nombre d'éléments qu'on réa lloue
à chaque fois qu'on a atteint le nombre d'éléments max déjà alloués.
> - Vous mettez char sAttrib[32]; et nColumn[32] = {0};
> pourquoi vous fixez la taille à 32 ? car on peut avoir la taille de
> chaine en général supérieure à 32 ou inférieur à 32 .
C'est juste pour l'exemple.
C'est pour définir une taille max pour le 2ème champ.
Tu peux mettre 1000 si tu veux avoir de la marge...
> - Vous avez alloué et réalloué un tableau
> Pouvez m'expliquer le principe d'utilisation d'un tableau avec
> réserve et rallouable et car j'ai découvert cette structure avec
> vous ? Dans quels cas à utiliser ? les avantages et les limites de
> cette structure ?
Il y a divers sites où c'est mieux expliqué que je ne le ferais
("Dynamic Arrays" dans Google)
Par ex,http://www.utdallas.edu/~rxc064000/dynamicArrays.html
Skander Fekih wrote:
> - Quelle est modification à faire dans votre programme pour qu'il
> tourne dans tous les cas quelque soit le nombre des lignes du fichier
> et la taille de deuxième champ du fichier ?
Aucune normalement (tes histoires de rewind, c'est à éviter : il ne f aut
pas lire n fois un même fichier, surtout s'il fait des millions de lign es..)
La taille du 2ème champ dépend ici de la longueur de la ligne moins l a
taille fixe du premier champ
Le nombre de lignes n'a pas d'importance.
> - Vous mettez #define STEP 10;
> 10 présente quoi ?
Tu le vois bien dans le code : c'est le nombre d'éléments qu'on réa lloue
à chaque fois qu'on a atteint le nombre d'éléments max déjà alloués.
> - Vous mettez char sAttrib[32]; et nColumn[32] = {0};
> pourquoi vous fixez la taille à 32 ? car on peut avoir la taille de
> chaine en général supérieure à 32 ou inférieur à 32 .
C'est juste pour l'exemple.
C'est pour définir une taille max pour le 2ème champ.
Tu peux mettre 1000 si tu veux avoir de la marge...
> - Vous avez alloué et réalloué un tableau
> Pouvez m'expliquer le principe d'utilisation d'un tableau avec
> réserve et rallouable et car j'ai découvert cette structure avec
> vous ? Dans quels cas à utiliser ? les avantages et les limites de
> cette structure ?
Il y a divers sites où c'est mieux expliqué que je ne le ferais
("Dynamic Arrays" dans Google)
Par ex,http://www.utdallas.edu/~rxc064000/dynamicArrays.html
- Quelle est la différence et l'effet de prendre STEP petit ou
grand ? Est ce que je peux prendre STEP comme la taille maximale de
fichier ?
- Est ce que il y a une fonction définie qui nous donne la taille de
fichier sans le parcourir ?
- C'est possible dans votre programme de sauvegarder les positions
des colonnes supprimées ( c'est à dire les positions dans la chaîne de
caractère de deuxième champ) car j'ai besoin de ces positions ?
- Quelle est la différence et l'effet de prendre STEP petit ou
grand ? Est ce que je peux prendre STEP comme la taille maximale de
fichier ?
- Est ce que il y a une fonction définie qui nous donne la taille de
fichier sans le parcourir ?
- C'est possible dans votre programme de sauvegarder les positions
des colonnes supprimées ( c'est à dire les positions dans la chaîne de
caractère de deuxième champ) car j'ai besoin de ces positions ?
- Quelle est la différence et l'effet de prendre STEP petit ou
grand ? Est ce que je peux prendre STEP comme la taille maximale de
fichier ?
- Est ce que il y a une fonction définie qui nous donne la taille de
fichier sans le parcourir ?
- C'est possible dans votre programme de sauvegarder les positions
des colonnes supprimées ( c'est à dire les positions dans la chaîne de
caractère de deuxième champ) car j'ai besoin de ces positions ?
programmation wrote:
> - Quelle est la différence et l'effet de prendre STEP petit ou
> grand ? Est ce que je peux prendre STEP comme la taille maximale de
> fichier ?
Ca n'a pas de sens, puisque ça revient à un tableau statique.
(si le fichier fait 1 million de lignes, on ne va pas allouer 1 million
d'éléments !)
> - Est ce que il y a une fonction définie qui nous donne la taille de
> fichier sans le parcourir ?
Pas en nombre de lignes. Et on n'en a pas besoin.
> - C'est possible dans votre programme de sauvegarder les positions
> des colonnes supprimées ( c'est à dire les positions dans la chaî ne de
> caractère de deuxième champ) car j'ai besoin de ces positions ?
C'est déjà sauvegardé dans le tableau de compteurs comme déjà e xpliqué !
programmation wrote:
> - Quelle est la différence et l'effet de prendre STEP petit ou
> grand ? Est ce que je peux prendre STEP comme la taille maximale de
> fichier ?
Ca n'a pas de sens, puisque ça revient à un tableau statique.
(si le fichier fait 1 million de lignes, on ne va pas allouer 1 million
d'éléments !)
> - Est ce que il y a une fonction définie qui nous donne la taille de
> fichier sans le parcourir ?
Pas en nombre de lignes. Et on n'en a pas besoin.
> - C'est possible dans votre programme de sauvegarder les positions
> des colonnes supprimées ( c'est à dire les positions dans la chaî ne de
> caractère de deuxième champ) car j'ai besoin de ces positions ?
C'est déjà sauvegardé dans le tableau de compteurs comme déjà e xpliqué !
programmation wrote:
> - Quelle est la différence et l'effet de prendre STEP petit ou
> grand ? Est ce que je peux prendre STEP comme la taille maximale de
> fichier ?
Ca n'a pas de sens, puisque ça revient à un tableau statique.
(si le fichier fait 1 million de lignes, on ne va pas allouer 1 million
d'éléments !)
> - Est ce que il y a une fonction définie qui nous donne la taille de
> fichier sans le parcourir ?
Pas en nombre de lignes. Et on n'en a pas besoin.
> - C'est possible dans votre programme de sauvegarder les positions
> des colonnes supprimées ( c'est à dire les positions dans la chaî ne de
> caractère de deuxième champ) car j'ai besoin de ces positions ?
C'est déjà sauvegardé dans le tableau de compteurs comme déjà e xpliqué !
On 21 juil, 09:06, Christian ASTOR wrote:
2 1011
9 0111
10 1011
4 0011
J'ai fait une fonction de tri rapide
On 21 juil, 09:06, Christian ASTOR <casto...@club-internet.fr> wrote:
2 1011
9 0111
10 1011
4 0011
J'ai fait une fonction de tri rapide
On 21 juil, 09:06, Christian ASTOR wrote:
2 1011
9 0111
10 1011
4 0011
J'ai fait une fonction de tri rapide
programmation wrote:
> On 21 juil, 09:06, Christian ASTOR wrote:
> 2 1011
> 9 0111
> 10 1011
> 4 0011
Comme signalé dans un autre thread, ici avec 1011, 0111, 1011, ça ne
colle pas.
> J'ai fait une fonction de tri rapide
Pour les tris, qsort() existe déjà...
programmation wrote:
> On 21 juil, 09:06, Christian ASTOR <casto...@club-internet.fr> wrote:
> 2 1011
> 9 0111
> 10 1011
> 4 0011
Comme signalé dans un autre thread, ici avec 1011, 0111, 1011, ça ne
colle pas.
> J'ai fait une fonction de tri rapide
Pour les tris, qsort() existe déjà...
programmation wrote:
> On 21 juil, 09:06, Christian ASTOR wrote:
> 2 1011
> 9 0111
> 10 1011
> 4 0011
Comme signalé dans un autre thread, ici avec 1011, 0111, 1011, ça ne
colle pas.
> J'ai fait une fonction de tri rapide
Pour les tris, qsort() existe déjà...
Ce n'est pas une comparaison binaire. Mais, c'est une comparaison au
niveau le nombre de 1 (le caractère 1).
Ce n'est pas une comparaison binaire. Mais, c'est une comparaison au
niveau le nombre de 1 (le caractère 1).
Ce n'est pas une comparaison binaire. Mais, c'est une comparaison au
niveau le nombre de 1 (le caractère 1).
programmation wrote:
> Ce n'est pas une comparaison binaire. Mais, c'est une comparaison au
> niveau le nombre de 1 (le caractère 1).
Oui, c'est que j'ai dit : qsort() , avec la fonction de comparaison en
dernier paramètre où l'on fait ce que l'on veut (compter les "1" ou
n'importe quoi d'autre)
programmation wrote:
> Ce n'est pas une comparaison binaire. Mais, c'est une comparaison au
> niveau le nombre de 1 (le caractère 1).
Oui, c'est que j'ai dit : qsort() , avec la fonction de comparaison en
dernier paramètre où l'on fait ce que l'on veut (compter les "1" ou
n'importe quoi d'autre)
programmation wrote:
> Ce n'est pas une comparaison binaire. Mais, c'est une comparaison au
> niveau le nombre de 1 (le caractère 1).
Oui, c'est que j'ai dit : qsort() , avec la fonction de comparaison en
dernier paramètre où l'on fait ce que l'on veut (compter les "1" ou
n'importe quoi d'autre)