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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

fopen()

n°1085002
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-05-2005 à 06:24:48  profilanswer
 

Reprise du message précédent :

d'jo a écrit :

Ok comme :

Code :
  1. [...]
  2. FILE * Fichier
  3. char nom_fichier[80];
  4. nom_fichier=sprintf(personne.nom)
  5. Fichier=fopen(nom_fichier.txt,"r" )




Il faut arréter de coder au hasard et lire la doc de fonctions avant de poster n'importe quoi en espérant qu'un pigeon de passage te mettra le bon code à la place.
 
google "man sprintf"


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
mood
Publicité
Posté le 16-05-2005 à 06:24:48  profilanswer
 

n°1085050
Elmoricq
Modérateur
Posté le 16-05-2005 à 09:42:25  profilanswer
 

Tarabiscote a écrit :


EDIT : d'après ton message précédent il semblerait que ce soit ça alors ? Eh ben ...
 
Et voilà je vois rien de plus.


 
 
Relis encore une fois la phrase qui débute par "Ainsi, s’il n’y a pas de caractère nul dans les n premiers octets de src, ..."

n°1085138
Tarabiscot​e
Posté le 16-05-2005 à 10:39:02  profilanswer
 

Bon je fais un dernier message ici pour mettre les choses au clair :
 
Remplissage d'un buffer de façon brut (comme le résultat de fgets qui est généralement à retravailler et c'était la question il me semble) :

strncpy(nom_client, personne.nom, sizeof nom_client);


Recopie de chaîne avec une chaîne de destination plus petite que la chaîne source (marche aussi dans les autres cas) :

strncpy(nom_client, personne.nom, (sizeof nom_client) - 1);
nom_client[(sizeof nom_client) - 1] = 0;


Message édité par Tarabiscote le 16-05-2005 à 10:39:25
n°1085164
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-05-2005 à 10:50:26  profilanswer
 

Tarabiscote a écrit :

Bon je fais un dernier message ici pour mettre les choses au clair :
 
Remplissage d'un buffer de façon brut (comme le résultat de fgets qui est généralement à retravailler et c'était la question il me semble) :

strncpy(nom_client, personne.nom, sizeof nom_client);




Le problème est que la chaine est mal formée si elle sature.
.

Citation :

Recopie de chaîne avec une chaîne de destination plus petite que la chaîne source (marche aussi dans les autres cas) :

strncpy(nom_client, personne.nom, (sizeof nom_client) - 1);
nom_client[(sizeof nom_client) - 1] = 0;




Cette manip est correcte mais compliquée.
 
Je préfère


*nom_client = 0;
strncat(nom_client, personne.nom, sizeof nom_client - 1);


même si elle n'est encore pas aussi simple qu'on l'aimerait.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°2143910
ami niane
Posté le 29-05-2012 à 02:32:52  profilanswer
 

[quotemsg=1084336,25,225404]strncpy(nom_client, personne.nom, sizeof nom_client);[/quotemsg
j'ai un problème avec les fichiers je doit écrire un programme en langage c on ma dit de faire des fichiers pour 5 étudiants chaque étudiant est caracterisé par son nom ,matricule ... comment faire?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Php avec glob / fopenfopen ne reconnait pas un fichier existant
fopen ou readfileProblème d'ouverture d'url avec fopen()
fopen et son handlefopen et parametre variable
fopen... fread... fwrite...gestion de contenu via fopen
fopen et open sont dans un bateau...Petit pb simple de chemin pour un fopen
Plus de sujets relatifs à : fopen()


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