On 21 Jul 2003 02:54:05 -0700, wrote:En revanche, je ne sais pas si j'utiliserais le mot « ancien », parce
que c'est toujours supporté sous les dernières versions de VC++ sous les
dernières Windows, je crois. Si tu ouvres un fichier en mode texte, et
le fichier contient un 0x1A, la lecture s'arrête là.
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
On 21 Jul 2003 02:54:05 -0700, kanze@gabi-soft.fr wrote:
En revanche, je ne sais pas si j'utiliserais le mot « ancien », parce
que c'est toujours supporté sous les dernières versions de VC++ sous les
dernières Windows, je crois. Si tu ouvres un fichier en mode texte, et
le fichier contient un 0x1A, la lecture s'arrête là.
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
On 21 Jul 2003 02:54:05 -0700, wrote:En revanche, je ne sais pas si j'utiliserais le mot « ancien », parce
que c'est toujours supporté sous les dernières versions de VC++ sous les
dernières Windows, je crois. Si tu ouvres un fichier en mode texte, et
le fichier contient un 0x1A, la lecture s'arrête là.
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans la
mesure où on ne peut pas connaitre sa taille à l'avance, me semble-t-il...
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans la
mesure où on ne peut pas connaitre sa taille à l'avance, me semble-t-il...
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans la
mesure où on ne peut pas connaitre sa taille à l'avance, me semble-t-il...
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
wrote:Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un
peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans la
mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper -- quand le programme essaie de lire des octets alors que
la fin du fichier est atteinte, le système renvoie une erreur, que le
langage se contente de répercuter vers le programme.
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose), tandis
que le EOF du langage est -1.
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
<christophe-lephay@wanadoo.fr> wrote:
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un
peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans la
mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper -- quand le programme essaie de lire des octets alors que
la fin du fichier est atteinte, le système renvoie une erreur, que le
langage se contente de répercuter vers le programme.
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose), tandis
que le EOF du langage est -1.
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
wrote:Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un
peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans la
mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper -- quand le programme essaie de lire des octets alors que
la fin du fichier est atteinte, le système renvoie une erreur, que le
langage se contente de répercuter vers le programme.
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose), tandis
que le EOF du langage est -1.
On 21 Jul 2003 02:54:05 -0700, wrote:En revanche, je ne sais pas si j'utiliserais le mot « ancien », parce
que c'est toujours supporté sous les dernières versions de VC++ sous les
dernières Windows, je crois. Si tu ouvres un fichier en mode texte, et
le fichier contient un 0x1A, la lecture s'arrête là.
Y a-t-il une raison valable à cela ?
La norme en parle-t-elle ?
On 21 Jul 2003 02:54:05 -0700, kanze@gabi-soft.fr wrote:
En revanche, je ne sais pas si j'utiliserais le mot « ancien », parce
que c'est toujours supporté sous les dernières versions de VC++ sous les
dernières Windows, je crois. Si tu ouvres un fichier en mode texte, et
le fichier contient un 0x1A, la lecture s'arrête là.
Y a-t-il une raison valable à cela ?
La norme en parle-t-elle ?
On 21 Jul 2003 02:54:05 -0700, wrote:En revanche, je ne sais pas si j'utiliserais le mot « ancien », parce
que c'est toujours supporté sous les dernières versions de VC++ sous les
dernières Windows, je crois. Si tu ouvres un fichier en mode texte, et
le fichier contient un 0x1A, la lecture s'arrête là.
Y a-t-il une raison valable à cela ?
La norme en parle-t-elle ?
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
wrote:Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier,
y compris la console, il faut bien un moyen d'en indiquer la fin
dans la mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
<christophe-lephay@wanadoo.fr> wrote:
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier,
y compris la console, il faut bien un moyen d'en indiquer la fin
dans la mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
wrote:Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées (un peu
anciennes déjà) sur les possibilités ou impossibilités de connaitre
réellement la taille d'un fichier avant de l'avoir complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier,
y compris la console, il faut bien un moyen d'en indiquer la fin
dans la mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose),
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose),
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose),
Au même titre que c'était '$' pour désigner une fin de chaine sur les
processeurs intel et non pas ' '.
Au même titre que c'était '$' pour désigner une fin de chaine sur les
processeurs intel et non pas ' '.
Au même titre que c'était '$' pour désigner une fin de chaine sur les
processeurs intel et non pas ' '.
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
wrote:Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées
(un peu anciennes déjà) sur les possibilités ou impossibilités de
connaitre réellement la taille d'un fichier avant de l'avoir
complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans
la mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper -- quand le programme essaie de lire des octets alors que
la fin du fichier est atteinte, le système renvoie une erreur, que le
langage se contente de répercuter vers le programme.
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose), tandis
que le EOF du langage est -1.
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
<christophe-lephay@wanadoo.fr> wrote:
Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées
(un peu anciennes déjà) sur les possibilités ou impossibilités de
connaitre réellement la taille d'un fichier avant de l'avoir
complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans
la mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper -- quand le programme essaie de lire des octets alors que
la fin du fichier est atteinte, le système renvoie une erreur, que le
langage se contente de répercuter vers le programme.
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose), tandis
que le EOF du langage est -1.
On Mon, 21 Jul 2003 20:52:10 +0200, "Christophe Lephay"
wrote:Y a-t-il une raison valable à cela ? La norme en parle-t-elle ?
Peut-être peut-on trouver des raisons dans les discussions passées
(un peu anciennes déjà) sur les possibilités ou impossibilités de
connaitre réellement la taille d'un fichier avant de l'avoir
complètement lu ?
Le langage C++ ne peut calculer la taille d'un fichier sans l'avoir
parcouru. L'OS, par contre, le peut très bien.
De fait, dans un système ou tout peut être considéré comme fichier, y
compris la console, il faut bien un moyen d'en indiquer la fin dans
la mesure où on ne peut pas connaitre sa taille à l'avance, me
semble-t-il...
Même chose ici : c'est au système d'exploitation de se débrouiller
pour savoir quand le fichier se termine. Le langage n'a pas à s'en
préoccuper -- quand le programme essaie de lire des octets alors que
la fin du fichier est atteinte, le système renvoie une erreur, que le
langage se contente de répercuter vers le programme.
Tu remarqueras d'ailleurs que le EOF des système Microsoft (et
peut-être aussi Unix), qui sert à indiquer "à la main" la fin de
l'entrée sur la console, est le caractère ^Z (0x1A je suppose), tandis
que le EOF du langage est -1.
La détection de fin de fichier est la tâche de l'OS. Sur systèmes
"classiques" (Win/Unix), l'OS détecte la fin du fichier en comptant le
nombre d'octets lus s'il s'agit d'un vrai fichier, ou détecte la fin
du programme dans le cas d'un pipe, ou attend un "^Z" (0x1A) s'il
s'agit de la console. Le langage n'a à aucun moment la tâche de
s'occuper d'un éventuel caractère 0x1A.
La détection de fin de fichier est la tâche de l'OS. Sur systèmes
"classiques" (Win/Unix), l'OS détecte la fin du fichier en comptant le
nombre d'octets lus s'il s'agit d'un vrai fichier, ou détecte la fin
du programme dans le cas d'un pipe, ou attend un "^Z" (0x1A) s'il
s'agit de la console. Le langage n'a à aucun moment la tâche de
s'occuper d'un éventuel caractère 0x1A.
La détection de fin de fichier est la tâche de l'OS. Sur systèmes
"classiques" (Win/Unix), l'OS détecte la fin du fichier en comptant le
nombre d'octets lus s'il s'agit d'un vrai fichier, ou détecte la fin
du programme dans le cas d'un pipe, ou attend un "^Z" (0x1A) s'il
s'agit de la console. Le langage n'a à aucun moment la tâche de
s'occuper d'un éventuel caractère 0x1A.