Mais c'est la norme C++ qui l'intéresse, donc C90. Je n'en a malheureusement pas une copie ici pour vérifier, mais c'est toute à fait possible qu'elle le permet.
Elle le permet peut-être, mais en prédit-elle le résultat ?
On 24 Oct 2003 01:29:31 -0700, kanze@gabi-soft.fr wrote:
Mais c'est la norme C++ qui l'intéresse, donc C90. Je n'en a
malheureusement pas une copie ici pour vérifier, mais c'est toute à fait
possible qu'elle le permet.
Elle le permet peut-être, mais en prédit-elle le résultat ?
Mais c'est la norme C++ qui l'intéresse, donc C90. Je n'en a malheureusement pas une copie ici pour vérifier, mais c'est toute à fait possible qu'elle le permet.
Elle le permet peut-être, mais en prédit-elle le résultat ?
On Fri, 24 Oct 2003 12:06:58 +0200, Laurent DELEPINE wrote:
*reinterpret_cast<int*>(0x0012FF7C) = 5; std::cout << toto << std::endl;
Il affiche 0 avec Borland C++ 55
Pas normal ca. Ce devrait planter sur un veritable OS.
Pas forcément, si 0x0012FF7C fait partie de l'espace d'adressage de l'application. Si ça se trouve, cette adresse est l'adresse d'une autre variable. -- http://www.giromini.org/usenet-fr/repondre.html
On Fri, 24 Oct 2003 12:06:58 +0200, Laurent DELEPINE
<newsgroup@webiologie.org> wrote:
*reinterpret_cast<int*>(0x0012FF7C) = 5;
std::cout << toto << std::endl;
Il affiche 0 avec Borland C++ 55
Pas normal ca. Ce devrait planter sur un veritable OS.
Pas forcément, si 0x0012FF7C fait partie de l'espace d'adressage de
l'application. Si ça se trouve, cette adresse est l'adresse d'une
autre variable.
--
http://www.giromini.org/usenet-fr/repondre.html
On Fri, 24 Oct 2003 12:06:58 +0200, Laurent DELEPINE wrote:
*reinterpret_cast<int*>(0x0012FF7C) = 5; std::cout << toto << std::endl;
Il affiche 0 avec Borland C++ 55
Pas normal ca. Ce devrait planter sur un veritable OS.
Pas forcément, si 0x0012FF7C fait partie de l'espace d'adressage de l'application. Si ça se trouve, cette adresse est l'adresse d'une autre variable. -- http://www.giromini.org/usenet-fr/repondre.html
Fabien LE LEZ
On Fri, 24 Oct 2003 09:21:23 +0200, "Seb" wrote:
Et bien si à partir d'un nom tu dois générer un fichier qui est dans "NOM/NOM"
Perso, je l'aurais écrit en C++. Mais même en C, utiliser la même variable pour deux trucs différents me paraît douteux.
On Fri, 24 Oct 2003 15:33:24 +0200, "Mickael Pointier" wrote:
J'attend celui qui n'aura pas suivit le thread qui proposera ca:
std::string c( "totototo" ) ;
Y'a aussi ça, en PHP : $c= "toto"; $c = "$c$c";
-- ;-)
Fabien LE LEZ
On Fri, 24 Oct 2003 10:51:27 +0200, "Seb" wrote:
Je pensais naivement que le sprintf (et donc le strcat) gérait ces problèmes : c'est très bon à savoir.
Ben non, ces fonctions sont très proches du système, et ne gèrent pas grand-chose par elles-mêmes. Pour le traitement des chaînes de caractères, C++ est nettement plus agréable que C.
-- ;-)
On Fri, 24 Oct 2003 10:51:27 +0200, "Seb" <sebastien_nospam@yahoo.com>
wrote:
Je pensais naivement que le sprintf (et donc le strcat) gérait ces problèmes
: c'est très bon à savoir.
Ben non, ces fonctions sont très proches du système, et ne gèrent pas
grand-chose par elles-mêmes.
Pour le traitement des chaînes de caractères, C++ est nettement plus
agréable que C.
Je pensais naivement que le sprintf (et donc le strcat) gérait ces problèmes : c'est très bon à savoir.
Ben non, ces fonctions sont très proches du système, et ne gèrent pas grand-chose par elles-mêmes. Pour le traitement des chaînes de caractères, C++ est nettement plus agréable que C.
-- ;-)
Loïc Joly
Seb wrote:
Et bien si à partir d'un nom tu dois générer un fichier qui est dans "NOM/NOM" : j'aurais aimé que mon sprintf(c, "%s/%s", c, c); fonctionne. Mon résultat est "/".
En C (perso, j'aurait écrit en C++) : sprintf(fileName, "%s/%s", name, name);
Encore une victoire aux noms clairs pour les variables !
-- Loïc
Seb wrote:
Et bien si à partir d'un nom tu dois générer un fichier qui est dans
"NOM/NOM" : j'aurais aimé que mon sprintf(c, "%s/%s", c, c); fonctionne.
Mon résultat est "/".
En C (perso, j'aurait écrit en C++) :
sprintf(fileName, "%s/%s", name, name);
Encore une victoire aux noms clairs pour les variables !
Et bien si à partir d'un nom tu dois générer un fichier qui est dans "NOM/NOM" : j'aurais aimé que mon sprintf(c, "%s/%s", c, c); fonctionne. Mon résultat est "/".
En C (perso, j'aurait écrit en C++) : sprintf(fileName, "%s/%s", name, name);
Encore une victoire aux noms clairs pour les variables !