Mettre des espaces dans une chaine de caractère - C++ - Programmation
Marsh Posté le 26-12-2002 à 18:33:46
Code :
|
walla ca marchera mieux comme ca
Marsh Posté le 26-12-2002 à 19:21:45
affreux:
o jourd hui deja que je suis de mauvais humeur, la je pete un plomb
#include <iostream.h>
> pas d'ISO C++
#include <string.h>
> pas d'ISO C++
#include <io.h>
> pas d'ISO C++
#define BUFF_SIZE 80
> dangeureux et pourquoi 80
int main (void)
{
> le (void) est inutile
char txt[BUFF_SIZE - 4];
char sep[BUFF_SIZE];
> les std::string c'est pour les chiens
int nbLettre;
> et vas y que je réserve tutes mes varaibles en debut de bloc
memset(sep, '*', BUFF_SIZE);
> voir les constructeurs de std::string
cout << "Donnez le texte a taper" << endl;
>cout et endl n'existe pas. sais tu que endl = '\n' + flush ?
if ((nbLettre = read(0, txt, BUFF_SIZE - 5)) <= 0)
return (1);
> pas standard. d'ailleurs read renvoie -1 ou le nombre d'octets lu. affreux.
> pourkoi (1) et pas 1 ou EXIT_SUCCESS
txt[--nbLettre] = 0;
sep[nbLettre + 4] = 0;
> horrible, j'espere que tu sais ce que tuf ais. voir les std::string
cout << endl << "Texte affiche : " << txt << endl << endl;
> meme remarche et merci pour le triple flush, rappele moi de ne pas te repondre quand tu te plaindra de la lenteur des I/O du C++
cout << "Nombre de lettres : " << nbLettre << endl << endl;
> idem
cout << sep << endl << "* " << txt << " *" << endl << sep << endl;
> idem
return (0);
> meme remarque que plus haut. d'autant plus que cette ligne est inutile en C++
}
Marsh Posté le 26-12-2002 à 19:37:17
Allons, allons ce n'est pas la peine d'être si négatif, même s'il faut bien reconnaître que le code de notre ami n'est pas dans un style des plus purs...
En C++ standard,
1) on ne met pas de .h dans les includes de la lib standard :
#include <iostream>
#include <string>
2) comme tu utilises uniquement la lib standard, une clause using serait la bienvenue. Ainsi tu peux parler de cout et de endl dans ton code.
3) ton algo est pas top.
Marsh Posté le 26-12-2002 à 20:45:22
HEY HO DU CALME
le masieur, il a un probleme alors moi j essaye gentillement de lui et resoudre .... et toi au lieu de l aider tu fais ke critiquer mon code ... pas sympa
d abord moa je code jamé en C++ mais en C, donc j y conné pas grand chose et ca parrait legitime de faire des erreurs !
mais puisque tu es le grand maitre, ô tout puissant du C++, azi propose une solution !
Marsh Posté le 26-12-2002 à 20:56:54
admet on meme si je ne vois pas trop a quelle niveau ....
tu n aide toujours pas Doc_Gloumy
plus je relis tes critiques et plus je me dis ke tu connais pas la logique du C
Marsh Posté le 26-12-2002 à 21:01:20
MrTonio a écrit : je me dis ke tu connais pas la logique du C |
Faire n'importe quoi, n'importe comment, peu importe que ça pête dès que l'utilisateur tape des mots trops longs, si ça compile, c'est déja pas mal ?
Marsh Posté le 26-12-2002 à 21:05:36
Code :
|
bon à part le retour de getline, je vois pas ce qu'on peut dire.
Marsh Posté le 26-12-2002 à 22:01:55
dans le main: tu dois retourner une fonction
(compil et tu verra )
Marsh Posté le 26-12-2002 à 22:06:37
warning C4508: 'main' : function should return a value; 'void' return type assumed
Marsh Posté le 26-12-2002 à 22:07:03
mais par contre je suis d'accord avec toi qu'il marche ton prog...
Marsh Posté le 26-12-2002 à 22:08:32
LeCoyote a écrit : warning C4508: 'main' : function should return a value; 'void' return type assumed |
c'est dingue quand meme: VC++ n'est pas au courant de la norme et modifie donc le code: mais ca devrait alors générer une erreur puisqu'en C++, le type de retour de main doit etre 'int'
Marsh Posté le 26-12-2002 à 22:18:09
LeCoyote a écrit : évidemment, c la faute du compilateur... |
tu veux parier? J'ai pas trop envie de me relever pour aller chercher mon BS, mais s'il le faut, je me ferait une joie de t'enfoncer
Marsh Posté le 26-12-2002 à 22:30:19
Taz@PPC a écrit : tu veux parier? J'ai pas trop envie de me relever pour aller chercher mon BS, mais s'il le faut, je me ferait une joie de t'enfoncer |
arrete un peu... tu me lourde!
MAIS OUI!!!! TU EST LE PLUS FORT!!!!
pffffffffff
laisse tomber ton "BS"!
Marsh Posté le 26-12-2002 à 22:32:17
LeCoyote a écrit : |
on doit pas parler du meme truc la
Marsh Posté le 26-12-2002 à 22:46:27
Taz@PPC a écrit :
|
bah walla t as servi a qqch
Marsh Posté le 27-12-2002 à 00:25:28
Perso, c'est pas pour dire, mais entre un Coyote qui fait le kéké avec son warning à deux balles et un Tonio un brin insolent... Sale journée pour les artisans du C++ qui travaillent leur code et dispensent leur savoir.
Marsh Posté le 27-12-2002 à 00:32:19
Cherrytree a écrit : Perso, c'est pas pour dire, mais entre un Coyote qui fait le kéké avec son warning à deux balles et un Tonio un brin insolent... Sale journée pour les artisans du C++ qui travaillent leur code et dispensent leur savoir. |
je fais pas du tout le "kéké", ce qui me rend fou c de voir taz@ppc comment il s'la jou... alors stp reste en dehor de tt ca... ok?
Marsh Posté le 27-12-2002 à 00:45:53
Citation : o jourd hui deja que je suis de mauvais humeur, la je pete un plomb |
on est pas la pour éponger tes sautes d'humeurs, alors t'es prié de causer avec un meilleur ton.
Citation : ni du C ni du C++: reviens quand tu auras choisi et t'auras une reponse appropriée |
T'aurais peut etre mieux fait de te taire sur ce coup là.
Citation : meme en C, c'est mauvais |
Je sais pas ou tu vis, mais si, moi, de toute ma vie, ce code de doc_gloumy est le pire code que je dois me taper, ben je serais mais hyper heureux.
Y'a franchement pire, franchement ... et piquer un caca nerveux parce qu'il a mis void et que c'est pas la peine, ouh la, mais toi tu vas te pendre le jour ou tu vas debouler sur le marcher du travail, et que tu vas devoir reprendre le code d'un autre. Je te vois deja a tout reecrire. (syndrome NIH : "tout ce qui n'a pas été fait par moi c'est de la merde", ca coute une fortune aux boites)
Moi je met void parce que j'aime bien souligner le fait que je ne recoit rien. La norme dit qu'il est inutile, pas qu'il ne faut pas le mettre. Pas besoin de hurler pour ca donc. Ca releve plus du style de codage que de la norme ca.
De même je met return 0, parce que sur terre y'a pas que gcc 3+, et que y'a tout un tas de compilos qui aiment bien ca. Et puis moi aussi j'aime bien. Parce que quand j'écris mon code, je cherche à ce qu'il soit compréhensible par un non initié au C++, et pas à exploiter les détails de la norme dans le but de perturber le lecteur et pouvoir me la péter à coups de citations de la norme et du TCPL.
Faut etre un peu pedagogue, toi quand tu t'initie a python ou autre, t'aime bien qu'on t'explique gentiment et pas qu'on te gueule dessus "mais ca c'est les bases du python, je vais aller chercher mon *** pour t'enfoncer, c'est mauvais, ton truc c'est de la mêêêêrde (a la JP Coffe).
Et d'une maniere générale t'es chiant à te la péter et à décrier les produits MS, VC++ en particulier.
T'aimes pas on a bien compris. Mais pas besoin de le rappeller pratiquement a chaque fois, ca incite au troll.
VC++, c'est pas un compilo, c'est beaucoup plus. C'est un produit MS, donc on retrouve a peu pres le meme schemas : une utilisation beaucoup plus agréable, mais une implémentation un peu chiadique. Mais il a une excuse : il est vieux, et gcc a l'epoque ne devait pas etre tellement mieux niveau norme.
D'ailleurs ca fait pas longtemps qu'il gueule pour le std:: manquant, contrairement à VC++
Pour info, VC++ 6 est sorti en 1998, et la norme actuelle de C++ date de ... 1998 !
Citation : c'est dingue quand meme: VC++ n'est pas au courant de la norme |
oui, c'est dingue. Faudra que je pense à le lui dire.
A t'entendre on peut rien compiler avec VC++.
Et pourtant des programmes/bibliotheques multi OS qui compilent sous VC++, y'en a plein. Alors faut relativiser un petit peu.
Perso, le seul truc de la norme qui me gene avec VC++ 6, c'est la portee du i dans les blocs for
Code :
|
mais j'arrive a survivre sans.
Mais ca c'est réparé avec la nouvelle version, et c'est celle la qu'il faut comparer avec gcc 3.2+, et pas une version de près de 5 ans.
VC++ 7, je ne l'ai pas, mais il parrait que niveau norme, il est nickel :
"(...) this version being one of the most standards-compliant C++ compilers running today on any platform"
http://www.ondotnet.com/pub/a/dotn [...] ttcpp.html
Enfin bref, tout ca pour te rappeler que c'est pas à des gosses de 5 ans que tu parles. S'il a envie d'utiliser string.h, ben il le fait. Peut etre qu'il veut utiliser string.h pour apprendre les bases et ensuite bien comprendre ce qui se passe derriere quand il utilise std::string.
Alors, plutot que de te défouler sur lui et de pourir l'ambiance, tu lui glisses que son programme serait plus simple avec des std::string, et tu lui files un lien.
http://www.cmla.ens-cachan.fr/Util [...] AQ/#string
T'aime bien potasse les normes apparement, alors je te conseille de lire les normes genre "la netiquette" ou "comment parler avec les autres"
Marsh Posté le 27-12-2002 à 02:03:00
HelloWorld a écrit : T'aime bien potasse les normes apparement, alors je te conseille de lire les normes genre "la netiquette" ou "comment parler avec les autres" |
Tout à fait d'accord, il n'est pas interdit d'être aimable.
Marsh Posté le 27-12-2002 à 08:33:29
je gueule beaucoup mais je maintiens tout ce que j'ai dit.
Vous etes pas habitué à vous prendre des coups de pieds au cul sur HFR, c'est tout. Si Gabriel DosReis (et d'autres) ne m'avait pas botté comme il le faut quand je mélangeais C et C++, ne m'avait pas assomer à coup de référence au BS, ben j'en serai pas là. etc
Je crois que faut être clair: faut savoir ce qu'on veut. On m'a enseigné le C et le C++ à la fac, ben j'ai pu jeter toutes mes connaissances à la flotte. L'apprentissage est difficile, mais un jour ou l'autre fo tout poser à plat et savoir ce qui est bon et à jeter (le mélange de char[], de read et iostream est pour ma part le meilleur que j'ai jamais vu)
J'ai rien contre VC++, mais on peut pas dire que pour les debutants ils soient bien. Il est vieux certes, mais fo pas programmer en regardant en arriere et à lire la MSDN non plus.
Et si tu regardes bien le forum, il m'arrive d'etre tres aimable avec les debutants et les autres, suffit juste de pas me titiller.
Marsh Posté le 27-12-2002 à 09:10:00
LeCoyote a écrit : |
Moi, ce que je lis c'est que tu testes le code de Taz pour y trouver la petite bête et tu la lui soumets en patûre, non pour obtenir un meilleur code, mais pour mettre ce forumeur en défaut. C'est bas.
M'enfin, c'est pas grave.
Marsh Posté le 27-12-2002 à 09:47:36
Cherrytree a écrit : Moi, ce que je lis c'est que tu testes le code de Taz pour y trouver la petite bête et tu la lui soumets en patûre, non pour obtenir un meilleur code, mais pour mettre ce forumeur en défaut. C'est bas. |
Si tu l'dis...
Marsh Posté le 27-12-2002 à 11:29:49
ReplyMarsh Posté le 27-12-2002 à 11:44:05
Taz@PPC a écrit : Gabriel DosReis |
Marsh Posté le 27-12-2002 à 11:46:20
ReplyMarsh Posté le 27-12-2002 à 11:48:55
samuelp a écrit : |
y a de quoi
Marsh Posté le 26-12-2002 à 14:28:59
J'ai fais un prog qui encadre un texte avec des étoiles en mode console. G donc fais ceci comme code :
Mais le problème est qu'il coupe le texte apres le premier espace. Le résultat est donc celui çi :
Ma question est donc comment faire pour encadrer tout le Doc Gloumy est non juste le Doc ?
Car je n'arrive pas à mettre le texte Doc Gloumy ds la variable txt.