OVH Cloud OVH Cloud

au sujet d un acces curieux a un string ...

156 réponses
Avatar
ricky
bonjour

j ai de nouveau un chtti truc etrange !

je fais quelquechose comme :
int main()
{
string pattern;
...
cout << "entrez le pattern";
cin >> pattern;
cin.get(); // pour virer le enter du buffer pour apres

balayage cache
recherche du pattern
affochage
}

ok tout marche super

je rajoute juste un truc :
...
cin.get();

cout << pattern[0];
...

donc juste un affichage du premier caractere, un truc bien neutre quoi

et la , la recherche echoue et donne 0 resultats !!!

quelque soit le code de recherche, en quoi le simple fait d afficher le
premier caractere d une string peut il changer quoique ce soit ?????

une idee ? :-)

@+
ricky... je sais pas si les reveillons me reussissent moi :)

10 réponses

1 2 3 4 5
Avatar
ricky
bonjour


C'est plutôt le C, le bazooka. Le C++ permettant des développements
nettement plus rapides qu'en C, on n'utilise le C que si on a une
bonne raison. Si on programme pour de l'embarqué, par exemple.


je suis en profond desaccord avec ca.
je pense que cela depend de la facon de conczevoir les problemes

perso, je concoit plus rapidement en c qu'en cpp, et cela reste portable ...
le cpp apporte des avantages mais pas pour tout...
et je trouve que le cpp est plus bazooka pour de petites et moyennes
applications ...

enfin, pour moi l'objet n'est pas un concept a mettre partout comme on
le fait ...

mais ce n'est que mon point de vue bien sur

@+
ricky

Avatar
ricky
bonjour


Par ailleurs, en plus de la quantité de travail que celà requiert, je pense
qu'il est dur de faire une telle GUI à la fois portable et qui profite bien
des caractéristiques du système. Notemment, si on parle de Java, je trouve
personnellement que la GUI est vraiment à chier...


peut etre mais il y en a un au moins !!!
c'est cela que je veut dire : un petit gui , et si on est pas content on
va ailleurs .. mais au moins quelques bases

Ceci dit, quand je vois la galère pour pondre le moindre "hello world" sous
windows, je reconnais que j'apprécierais quand même une petite GUI
minimaliste...


voila, c'est exactement ca :-P

alors qu'en tcl/tk, hop 10 secondes et ca marche nickel sous mac, linux,
windows :)

je demande juste ca, chui pas difficile comme garcon :-)

j'avoue que j'avais adore les turbo c de borland pour ca : des fonctions
supplementaires tres utiles pour tout debutant et tout un chacun (des
inkey, des locate, un peu de graphisme de base)... pas grand chose, rien
qui ne mette en danger la norme du cpp, mais un petit quelque chose ...

bien sur, rin de comparable au monstre wxwindows par exemple ... ce
serait, je suis d accord, irrealiste .

@+
ricky

Avatar
Fabien LE LEZ
On Sun, 28 Dec 2003 14:57:00 +0100, "Christophe Lephay"
wrote:

Ceci dit, quand je vois la galère pour pondre le moindre "hello world" sous
windows, je reconnais que j'apprécierais quand même une petite GUI
minimaliste...


Là encore je crois que tu prends le problème à l'envers. AMHA, il est
impossible de programmer sérieusement en C++ seul -- il faut utiliser
des bibliothèques externes.

--
;-)

Avatar
Fabien LE LEZ
On Sun, 28 Dec 2003 15:44:19 +0100, ricky wrote:

(je prend toujours tk comme
exemple, c est le minima et ca peut tourner partout)


Vraiment partout ? Ça fait un sacré paquet de systèmes différents,
voire disparates...

--
;-)

Avatar
Fabien LE LEZ
On Sun, 28 Dec 2003 15:46:38 +0100, ricky wrote:

C'est plutôt le C, le bazooka. Le C++ permettant des développements
nettement plus rapides qu'en C, on n'utilise le C que si on a une
bonne raison. Si on programme pour de l'embarqué, par exemple.


je suis en profond desaccord avec ca.


Houlà ! Si ça continue, dans 5 minutes tu vas me dire que tu manges du
chocolat à moins de 75 % de cacao...

enfin, pour moi l'objet n'est pas un concept a mettre partout comme on
le fait ...


Ne confondons pas tout.
La programmation orientée objet n'est qu'un des paradygmes possibles
quand on programme en C++.

Il n'est pas indispensable de faire de la POO pour profiter des
avantages du C++. Même dans des projets très petits (une cinquantaine
de lignes de code), std::string et std::vector<> apportent un réel
confort, et permet de réduire considérablement le temps de
développement.

--
;-)


Avatar
Fabien LE LEZ
On Sun, 28 Dec 2003 15:46:38 +0100, ricky wrote:

C'est plutôt le C, le bazooka. Le C++ permettant des développements
nettement plus rapides qu'en C, on n'utilise le C que si on a une
bonne raison. Si on programme pour de l'embarqué, par exemple.


je suis en profond desaccord avec ca.


En passant, il ne s'agit pas d'une idée en l'air, mais bien d'un
fait, que tous ceux qui ont programmé sérieusement en C et en C++ ont
remarqué.

--
;-)


Avatar
Christophe Lephay
Fabien LE LEZ wrote:
On Sun, 28 Dec 2003 14:57:00 +0100, "Christophe Lephay"
wrote:

Ceci dit, quand je vois la galère pour pondre le moindre "hello
world" sous windows, je reconnais que j'apprécierais quand même une
petite GUI minimaliste...


Là encore je crois que tu prends le problème à l'envers. AMHA, il est
impossible de programmer sérieusement en C++ seul -- il faut utiliser
des bibliothèques externes.


Il n'y a pas d'endroit et d'envers. Il y a des fonctionnalités qu'on trouve
dans des bibliothèques externes, elles n'en seraient pas moins utiles si
elles se trouvaient intégrées au langage. La seule distinction concrète
entre interne et externe, de ce point de vue, se pose juste en terme de
portabilité selon la norme.

On sait bien qu'il n'y a pas de compilateur conforme 100%, de même qu'on
sait bien que des bibliothèques externes (à la norme) sont en général
nécessaire. En suivant ton raisonnement, pourquoi ne pas virer cin et cout
pour les mettre dans des bibliothèques externes, puisqu'il faudra en
utiliser de toute façon ?

Chris


Avatar
James Kanze
"Christophe Lephay" writes:

|> Fabien LE LEZ wrote:
|> > On Sun, 28 Dec 2003 05:51:45 +0100, ricky wrote:
|> >>> Plus exactement, un langage qui laisse le programmeur choisir sa
|> >>> bibliothèque GUI ;-)
|> >> mais en mettre une petite par defaut serait une aide a bcp de
|> >> personnes !
|> > Encore faut-il en pondre une qui marche sur tous les systèmes.
|> > wxWindows a réussi l'exploit de rassembler MacOS, Windows et
|> > Linux, mais n'est vraiment utilisable que depuis assez peu de
|> > temps (comparé à l'âge du C++), et ne concerne pas les
|> > autres systèmes. Dès qu'on aura une bibliothèque vraiment
|> > portable et fiable, on pourra commencer à réfléchir à
|> > la possibilité de l'inclure dans la SL. Mais c'est pas demain
|> > la veille...

|> Par ailleurs, en plus de la quantité de travail que celà
|> requiert, je pense qu'il est dur de faire une telle GUI à la fois
|> portable et qui profite bien des caractéristiques du système.

Le problème, c'est aussi que les exigeances varient d'une
implémentation à l'autre.

|> Notemment, si on parle de Java, je trouve personnellement que la GUI
|> est vraiment à chier...

Dans quel sens. Je trouve que dans l'abstrait, Swing n'est pas mal. En
revanche, il est très gourmand en ressources, et ce n'est pas
seulement parce que c'est du Java.

|> Ceci dit, quand je vois la galère pour pondre le moindre "hello
|> world" sous windows, je reconnais que j'apprécierais quand
|> même une petite GUI minimaliste...

L'avantage d'une solution standard, c'est que tu la trouves partout,
toujours la même, et que tu n'as pas besoin de réapprendre une
bibiliothèque différente à chaque nouveau contrat.

--
James Kanze mailto:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Avatar
James Kanze
Fabien LE LEZ writes:

|> On Sun, 28 Dec 2003 15:44:19 +0100, ricky wrote:

|> >(je prend toujours tk comme exemple, c est le minima et ca peut
|> >tourner partout)

|> Vraiment partout ? Ça fait un sacré paquet de systèmes
|> différents, voire disparates...

Là, je ne sais pas. Dans la pratique, je sais qu'il y a MS-Windows,
et X. Mais j'ai d'assez peu d'expérience dans le domaine. Est-ce que
Mac utilise aussi X, maintenant qu'il est basé sur Unix ? Et
qu'est-ce qu'il y a d'autre ?

--
James Kanze mailto:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Avatar
James Kanze
ricky writes:

|> > C'est plutôt le C, le bazooka. Le C++ permettant des
|> > développements nettement plus rapides qu'en C, on n'utilise le
|> > C que si on a une bonne raison. Si on programme pour de
|> > l'embarqué, par exemple.

|> je suis en profond desaccord avec ca. je pense que cela depend de la
|> facon de conczevoir les problemes

Je ne sais pas. Quand je faisais du C, je définissais des struct, des
ensembles de fonctions qui les manipuler, et je me croisais les doigts
que personne n'y touchait autrement que par mes fonctions. Et AMHA,
l'histoire des contrôles d'accès (public et private) reste
toujours l'apporte la plus importante de C++.

|> perso, je concoit plus rapidement en c qu'en cpp, et cela reste
|> portable ...

Quand j'ai besoin de la portabilité, je sais écrire du C++ qui
marche vraiment partout aussi. Pas d'exceptions, pas de namespaces, pas
de templates, même, s'il faut vraiment de la portabilité. Mais
j'ai toujours public et private.

|> le cpp apporte des avantages mais pas pour tout... et je trouve que
|> le cpp est plus bazooka pour de petites et moyennes applications ...

|> enfin, pour moi l'objet n'est pas un concept a mettre partout comme
|> on le fait ...

Ça dépend de ce que tu mets derrière l'objet. Si tu parles du
polymorphisme à mort, le C++ ne l'exige pas. Si tu parles de
l'encapsulation, en revanche, il le faut, pratiquement partout.

--
James Kanze mailto:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
1 2 3 4 5