CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

C - Probleme sur les 'espaces'

D_liri0us
D_liri0us
Niveau 3
29 juillet 2007 à 19:03:52

Bonjour a tous, je viens de commencer la programmation en C,
et j´ai un probleme:
Quand je fais un

    • scanf("%s", chaine);**

et que je met un ou plusieurs espace dans ma chaine,
lors de l´affichage avec un printf il s´arrete au premier espace venu et n´affiche pas la suite de la chaine.
Comment faire pour que sa marche correctement,

Merci d´avance!

Lapintade
Lapintade
Niveau 30
29 juillet 2007 à 21:46:55

Hello

En effet l´espace est reconnu comme delimiteur des differentes strings.

Je connais pas le solution a ce probleme.

D_liri0us
D_liri0us
Niveau 3
29 juillet 2007 à 22:19:06

ok merci de ta reponse, je crois que je vais devoir continuer a mettre des tirets de soulignements.
:bye:

FlyingPhantom01
FlyingPhantom01
Niveau 10
29 juillet 2007 à 22:33:47

Strings en C ?
Je crois que je vais relire les cours... :rire:

:ok:

dnob700
dnob700
Niveau 10
29 juillet 2007 à 22:35:05

Pour avoir la "solution" tu peut par exemple allez voir le tuto de fvirtman :
http://perso.numericable.fr/~fvirtman/info/tuto/index.html

Le paragraphe F.1.2 répond à ta question.

Lapintade
Lapintade
Niveau 30
29 juillet 2007 à 23:12:27

Ah classe, je connaissais pas

scanf("%[^\n]s", chaine);

Fvirtman
Fvirtman
Niveau 10
29 juillet 2007 à 23:45:48

Oui, c´est vrai que c´est peu connu certaines options du scanf, mais c´est bien marrant :)

Ce que tu peux aussi, c´est protéger les débordements :

scanf("%500s",p);

--> si par exemple tu as réservé 501 char pour ton tableau, ça sécurise (le 501è étant pour le \0)

Evidemment combinable avec [^\n] :)

Lapintade
Lapintade
Niveau 30
30 juillet 2007 à 00:02:30

Oui j´ai lu ca dans ton tuto.

Lapintade
Lapintade
Niveau 30
30 juillet 2007 à 09:58:32

C´est en effet une petite astuce qu´on utilise pas tous les 4 matins, mais bien pratique.

D_liri0us
D_liri0us
Niveau 3
30 juillet 2007 à 10:32:23

Merci bien les gars, en effet sur le tuto il y a une manip qui fonctionne a merveille!
:bye:

Drafus
Drafus
Niveau 6
30 juillet 2007 à 11:50:57

J´ai pas appris la chaine de caracteres en C :mort:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment