Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Ecrire dans un fichier texte avec espaces [ Divers / Débutant(e) ] (zeprex)

jeudi 20 novembre 2008 à 11:53:31 | Ecrire dans un fichier texte avec espaces

zeprex

Hello, donc voila j'aimerais écrire dans un fichier texte, mais il ne prends pas mes espaces :(

Le Code :


#include <stdio.h>
#include <string.h>

void main()
{
  FILE *F;
  char contenu[100] ;
  char NOM[30];
  int menu;

  printf("Menu \n\n");
  printf("1. cree un fichier\n");
  printf("2. generer un fichier batch");
  scanf("%d",&menu);
  printf("\n");
 
  switch (menu)
  {
      case 1:
       printf("Entrez le nom du ficher avec l'extension ( exemple: monfichier.txt)\n ");
  scanf("%s", NOM);
  F = fopen(NOM, "w"); 

  printf("Entrez le contenu du fichier ");
  scanf ("%s", contenu);
  fwrite(contenu,sizeof(contenu),1,F);


     
    
  fclose(F);
       break;
      case 2:


  F = fopen("batch.bat", "w"); 


  fprintf(F, "ipconfig /all > ips.txt");
     
    
  fclose(F);
}}


 NE TENEZ PAS COMPTE DU BATCH ÇA ÇA MARCHE.

Donc comme ca les espaces sont devenus des caractères spéciaux dans le fichier.txt de destination, et si j'utilise fprintf il ne m'écrit que le 1er mot.

Quelqu'un pour m'aider? merci



vendredi 21 novembre 2008 à 13:17:58 | Re : Ecrire dans un fichier texte avec espaces

uaip

Et en changeant ton fwrite(contenu,sizeof(contenu),1,F); par fputs(contenu,F); ?

Cordialement, uaip.

vendredi 21 novembre 2008 à 17:04:03 | Re : Ecrire dans un fichier texte avec espaces

zeprex

même problème, un seul mot :/

vendredi 21 novembre 2008 à 17:09:32 | Re : Ecrire dans un fichier texte avec espaces

uaip

Ah mais oui, suis-je bête.
Ton scanf ("%s", contenu); ne récupère que le 1er mot saisi. Le masque %s ne calque qu'un seul mot (il s'arrête au premier espace).
Il va donc falloir trouver un autre moyen pour récupérer tout le texte... (perso, je n'ai pas d'idée )

Cordialement, uaip.

samedi 22 novembre 2008 à 09:12:24 | Re : Ecrire dans un fichier texte avec espaces

Adeon

je savais pas que scanf s'arretait au premier mot.
Tu peux ptete essayer du coté de cin >> variableTexte;

______________________
Adeon, programmeur de jeux sur directX 9 (http://theolith.com) a votre service !


samedi 22 novembre 2008 à 12:39:55 | Re : Ecrire dans un fichier texte avec espaces

uaip

Idem, je pensais que les espaces étaient comptés dans un %s.
Mais mes tests m'avaient montré que non. Une fois j'ai voulu récupérer une chaine de mots entre guillemets, et sscanf(chaine,"blabla \"%s\" blabla",&chaine2); ne marchait pas correctement non plus.

Et s'il veut utiliser l'opérateur cin, il va falloir qu'il intègre le C++ car je ne vois que du C dans son code.

Cordialement, uaip.

samedi 22 novembre 2008 à 14:31:58 | Re : Ecrire dans un fichier texte avec espaces

BastienL21

Slt à tous,
Il me semble qu'il existe une syntaxe du type :
scanf("%[^\n]",...);//On peut modifier '\n' par n'importe quel caractère
Qui te prends le texte jusqu'au premier retour à la ligne, ou aussi :
fflush(stdin);
gets(chaine);

@++ Bastien

//Vive Ubuntu !!!

samedi 22 novembre 2008 à 15:39:42 | Re : Ecrire dans un fichier texte avec espaces

uaip

Yeps.
Au passage BastienL21, tu n'aurais pas un bon lien sous la main expliquant les masques de ce style ? (bien que ce que tu viens de marquer ressemble fort à une regexp).
J'ai déjà trouvé plusieurs exemples, mais pas un lien expliquant brièvement l'utilisation des masques.

Cordialement, uaip.

samedi 22 novembre 2008 à 15:44:55 | Re : Ecrire dans un fichier texte avec espaces

BastienL21

Non, désolé, j'ai retrouvé cette technique dans un coin de ma tête mais c'est tout, je ne connais pas de bons liens, désolé.

@++, B@stien

//si vous avez 15 secondes,(chargements compris!), répondez à ce sondage SVP :
http://pixule.com/sondage/59755078573_Sous-quel-OS-tournestu-.html

samedi 22 novembre 2008 à 15:50:58 | Re : Ecrire dans un fichier texte avec espaces

zeprex

j'ai essayé avec gets même soucis :/


1 2

Cette discussion est classé dans : fichier, menu, printf, espaces, contenu


Répondre à ce message

Sujets en rapport avec ce message

Petit probleme de code en C sur Linux !! [ par UncleShu ] Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl Analyse fichier log a faire en C [ par Nexouille ] A l'aideeeeeeeeeeeeeeeeeeeeeeeeee***************************************Les serveurs web enregistrent la trace des visites dans des fichiers de log. C Aide fichier :) [ par asnow ] Salut a tous :)Voila mon tit code pour ouvrir un fichiervoid Ouverture () {char nomf[20]; printf("Entrez le nom du fichier :"); scanf("%s", nomf lire le contenu d'un fichier en C++ [ par julien20vt ] Je développe sous visual C++, je voudrais lire le contenu d'un fichier et le recopier dans un autre, par contre il ne faut pas que j'utilise le type [C] lecture d'un fichier [ par GazGaz ] lu allalors voila en fait je lis un fichier en c et le probleme c'est que ce fichier est composé de lignes dont la taille exècede largement les 80 car OpenDir de <dirent.h> [ par mbgh1302 ] Bonjour,voilà j'utilise le fichier header , avec lequel j'arrive à lister le contenu d'un répertoire.Le problème c'est que le répertoire, passé en ent accées au contenu d'un fichier langage C [ par khalidlyon ] Ensemble pour la scienceBonjour,je suis toujours avec le pb. d'accées aux données de mon fichier, finalement j'arrive a ccéeder a mon fichiers si il c [debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ] en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl Affichage d'une image BMP en C [ par sabres ] Voici le code source d'un début de programme écrit sous Turbo C/C++ permettant d'afficher les caractéristiques d'une image BMP et de l'afficher. Le pr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.