superbe déterrage, on avait tous arrêté de respirer depuis.
laflaf3d
Je sais que ça date ce post mais...
si tu fais:
Code :
if (valeur=13)
et bien valeur va valoir 13 et comme ton if test une affectation, il sera toujours vrai :pfff:
Aussi, pour éviter ce genre de mésaventure j'utilise toujours ce type d'écriture:
Code :
if(13==valeur)
Comme ça, si par erreur tu ne met que un seul '=', ton compilo va brère car tu tentes d'affecter une constante.
Ca évite beaucoup d'erreur...
A+
djrom
Ahhhh !!
Il ne faut JAMAIS utiliser gets() !!
gets() ne vérifie pas la taille de la chaîne qu'il lui est donnée, et écrit quand même, quite à écraser la mémoire qui est après, ce qui fera inévitablement planter le programme. Il faut utiliser fgets() à la place.
Cette fonction est tellement à banir, que gcc (le compilateur sous Linux) te prévient de ne pas l'utiliser au moment de la compilation !
[SDF]Poire
stipe a écrit a écrit :
:jap: merci , tout va pour le mieux dans le meilleur des mondes!
il faut faire if (valeur=13)..............
2 rien
:hello:
stipe
:jap: merci , tout va pour le mieux dans le meilleur des mondes!
il faut faire if (valeur=13)..............
[SDF]Poire
stipe a écrit a écrit :
Merci c vachement sympa...j'ai utilisé getche() ....
au fait,tant que j'y suis, comment peut-on retourner à la ligne lorsque l'on tape sur la touche "enter"?
peut-ête avec la valeur ASCII que je ne connais pas ;-)
if (saisie ='\x???? ')
printf("\n" );
merci d'avance ;)
if (saisie ='\n')
printf("\n" ); ou
if (saisie = 13)
printf("\n" ); test les 2....
stipe
Merci c vachement sympa...j'ai utilisé getche() ....
au fait,tant que j'y suis, comment peut-on retourner à la ligne lorsque l'on tape sur la touche "enter"?
peut-ête avec la valeur ASCII que je ne connais pas ;-)
if (saisie ='\x???? ')
printf("\n" );
merci d'avance ;)
[SDF]Poire
getch Syntax
#include <conio.h>
int getch(void);
Description
Gets character from keyboard, does not echo to screen.
getch reads a single character directly from the keyboard, without echoing to the screen.
Note: Do not use this function for Win32s or Win32 GUI applications.
Return Value
getch returns the character read from the keyboard.
/* getch example */
#include <conio.h>
#include <stdio.h>
int main(void)
{
int c;
int extended = 0;
c = getch();
if (!c)
extended = getch();
if (extended)
printf("The character is extended\n" );
else
printf("The character isn't extended\n" );
return 0;
}
Borland C++ 5.0 Programmer's Guide
Marche po sous nunux
stipe
voilà une partie de mon p'tit programme
do {
scanf (" %c",&saisie);
if (saisie!='0')
{
nb_car++;
tab_saisie=(char *)realloc(tab_saisie,nb_car*sizeof (char));
if (saisie==" " )<= probleme pour dire c un espace
for (i=0;i<nb_car;i++)
printf ("%c ",tab_saisie[i]);
free (tab_saisie);
le problème étant de traiter caractère par caractère l'entrée clavier sans virer les espaces pour insérer les caractères dans un tableau dynamique qui traitera chaque caractère indépendamment.
une idée sans les "string" STP. Merci
Gets a string from stdin.
gets collects a string of characters terminated by a new line from the standard input stream stdin and puts it into s. The new line is replaced by a null character (\0) in s.
gets allows input strings to contain certain whitespace characters (spaces, tabs). gets returns when it encounters a new line; everything up to the new line is copied into s.
The gets function is not length-terminated. If the input string is sufficiently large, data can be overwritten and corrupted. The fgets function provides better control of input strings.
Note: For Win32s or Win32 GUI applications, stdin must be redirected.
Return Value
On success, gets returns the string argument s.
On end-of-file or error, it returns NULL
Borland C++ 5.0 Programmer's Guide
[edtdd]--Message édité par [SDF]Poire--[/edtdd]
stipe
gets????
tu peux être un peu plus précis ou me donner un exemple s'il te plaît?
Merci :jap:
[SDF]Poire
gets
stipe
je voudrais faire un scanf de caractère puis les incorporés dans un tableau .....l'espace n'est pas pris en compte.
Comment y faut faire SVP!!?? Merci :??: