Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1839 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Stocker un espace dans chaine de caractère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Stocker un espace dans chaine de caractère

n°1813914
cybkiller
Un clavier AZERTY en vaut deux
Posté le 19-11-2008 à 16:44:07  profilanswer
 

Salut à vous, j'ai fait ce programme pour apprendre à écrire dans un fichier en C (je débute) et quand j'ouvre le fichier text.txt j'ai que le premier mot rentré ... Donc, y a t il un moyen de "forcer" l'ordi à stocker les espaces de ma phrase dans la chaine ?
 
Merci d'avance.
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TS 10000
  4. int main(int argc, char *argv[])
  5. {
  6.     FILE* fichier = NULL;
  7.     char s[TS];
  8.     int i;
  9.     scanf("%s",&s);
  10.     fichier = fopen("text.txt", "w+" );
  11.     if (fichier != NULL)
  12.     {
  13.         fprintf(fichier,"%s",s);
  14.         fclose(fichier);
  15.     }
  16.     return 0;
  17. }

mood
Publicité
Posté le 19-11-2008 à 16:44:07  profilanswer
 

n°1813917
Elmoricq
Modérateur
Posté le 19-11-2008 à 17:00:00  profilanswer
 

Ta chaîne est tronquée à cause de scanf(), qui est une fonction de lecture formatée.
Tu demandes à scanf() de lire une chaîne de caractères, ce qu'il fait jusqu'au premier séparateur trouvé (espace, tabulation, saut de ligne).
De plus, il faut passer à scanf() le paramètre "s", et non "&s".

 

scanf() n'est pas une fonction facile d'accès à un débutant, il est plutôt conseillé d'utiliser fgets().


Message édité par Elmoricq le 19-11-2008 à 17:00:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Stocker un espace dans chaine de caractère

 

Sujets relatifs
[Bash Linux] nombre d'un caractère choisi[Batch] FOR et concanétion de chaine
[Delphi]Saisir une chaine de caractères dans un programme extérieurDriver JDBC : Probleme lors de la récupération de caractere spéciaux
comparaison de chaine ça marche plusEnlever des parentheses debut et de fin à une chaine!!!
faire une fonction qui retourne une chaine de caracteretester la présence d'un espace dans une chaine.
Plus de sujets relatifs à : Stocker un espace dans chaine de caractère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR