begin process at 2012 05 30 03:16:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

lire un fichier de parametre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lire un fichier de parametre

mardi 7 juin 2005 à 11:30:47 | lire un fichier de parametre

gab55

Bonjours a tous
Je suis débutant en c++ et je doit modifier un programme dejas existant.
Je travaille sous embedded visual c++ 4 car mon programme est destinné a un PDA
Il faut que j'aille lire un fichier texte ou se trouve une chaine de caractere,qui corepond a une variable que je veut utiliser dans mon programme.
j'ai essayer GetPrivateProfileString et fstream mais cela ne fonctionnne pas sous embedded.
j'ai adopte cette solution mais ce la ne marche pas beaucoup mieux:
 
FILE *fichier;
char valeur[100]; 
fichier = fopen("\\test.txt", "r");
fread(&valeur,1, LONGUEUR, fichier);
valeur ::AfxMessageBox(CString(valeur));
 CString svsPath=valeur;
   fclose(fichier);

car la taille de ma chaine de caracteres est variable et dans ce cas la lecture depasse la fin de la ligne.
le contenu de mon fichier txt est pour l'instant le suivant :
\\Cartes svs\\69\\Lyon_1118_69_01_07_2005.svs

Merci d'avance pour vos reponses
ps:dsl je sait qu'il existe beacoup de reponse sur ce forum a ce sujet mais bon je suis vraiment bloque

mardi 7 juin 2005 à 11:47:13 | Re : lire un fichier de parametre

ymca2003

Il faudrait rajouter un '\0' à la fin de la ligne :
int len = fread(&valeur,1, LONGUEUR, fichier);
valeur[len] = '\0';

il existe ausi fgets qui lit une ligne en entier (en gardant le saut de ligne \n par contre).
mardi 7 juin 2005 à 13:20:41 | Re : lire un fichier de parametre

gab55

heu dsl mais j'ai pas super bien compris ce que tu voulais dire \0 permetrait de reperer les fin de lignes??
et len sert a quoi?
 si tu pouvais me montrer dans un exemple ca serais cool merci
mardi 7 juin 2005 à 14:04:02 | Re : lire un fichier de parametre

ymca2003

Réponse acceptée !
le '\0' sert à termier les chaînes de caractères en C (caractère nul).
le len sert à savoir combien de caractères on a lu avec fread.
et donc valeur[len] permet de terminer la chaîne à cet endroit. Sans cela, l'affichage continuera jusqu'au premier caractère nul
en mémoire.

avec fread, tu lis le fichier en continue alors qu'avec fgets, tu lit ligne par ligne et le '\0' est mis automatiquement. Par contre il reste à virer le retrour chariot \n de la châine 
char valeur[100];
fgets(valeur, 100, file);
int len = strlen(valeur);
if(len > 0 && valeur[len-1] == '\n')
valeur[len-1] = '\0';
mardi 7 juin 2005 à 14:37:46 | Re : lire un fichier de parametre

gab55

ok merci donc normalement avec ce code ca lit exactement la ligne de caractere que g entré??!!
FILE *fichier;
char valeur[100];
 
fichier = fopen("\\test.txt", "r");
fgets(valeur,100, fichier); 
int len = strlen(valeur);
if(len > 0 && valeur[len-1] == '\n')
valeur[len-1] = '\0';
 

::AfxMessageBox(CString(valeur));
 CString svsPath=valeur;
  fclose(fichier);

Si ensuite je veut choisir  une ligne du fichier text je peut faire comment?

mardi 7 juin 2005 à 14:40:27 | Re : lire un fichier de parametre

ymca2003

faire fgets n fois n étant le numéro de ligne.
int n = 3;
do
{
fgets(valeur,100, fichier); 
n--;
}
while(n > 0)

devrait récupérer la 3 ème ligne.
mardi 7 juin 2005 à 14:58:13 | Re : lire un fichier de parametre

gab55

Merci beaucoup je vien te tester et ca marche tres bien
ce que je voudrais faire maintenant comme je l'ai dit au dessu c'est pouvoir choisir la ligne du fichier text que je veut lire ( ca serait bete de cré un fichier texte pour chaque parametre)
si tu as une idée merci d'avance pour ta réponse .
mardi 7 juin 2005 à 14:59:47 | Re : lire un fichier de parametre

gab55

dsl j'avais pas vu ta réponse merci je vais tout de suite essayer ca .
mardi 7 juin 2005 à 15:14:36 | Re : lire un fichier de parametre

gab55

encore merci pour le choix de la ligne cette solution marche aussi


Cette discussion est classée dans : fichier, programme, lire, valeur, parametre


Répondre à ce message

Sujets en rapport avec ce message

lire un fichier d'option [ par Vinsou ] Je dévellope un projet sous linux. Dans ce programme j'ai des variables qui contiennent le chemin de fichiers se trouvant sur le système, qui doivent Poblèmes pour lire un fichier audio dans un programme C++ [ par Nicolas ] Pour un projet C++ (linéaire),il souhaiterais réalisé une bibliothèque musical(.mp3, .wav). J'aurais besoin pour ca de lire les fichiers audio mais je Ouvrir et lire un fichier txt [ par pirana ] Bonjour à tous jaimerai faire un programme qui me permet d'ouvrir un fichier txt puis le lire jusqua la fin( normalement avec une boucle while(!feof(f Probleme c++ lire une byte Binaire =26 ou =13 [ par WINACreve ] Situation: Je fait un programme qui ouvre n'importe quel fichier et lit chacune de ces bytes 1 par 1 et garde en mémoire leurs valeur.Problème #1: lor Lire un fichier de configuration [ par neoTHGLF ] Bonjour,je cherche à lire un fichier de configuration de ce type :#Commentaires "skippés" par le programmenom_variable = données#donc le programme che ShellExecute : savoir quand le programme est ouvert [ par glipper ] Bonjour,J'ouvre à l'aide de ShellExecute() un editeur de texte et lui demande de lire un fichier, mais je voudrais savoir quand il a fini de lire le f Debutant - lire un fichier txt [ par aciid_washor ] Bonjour, j'essaye, pour débuter d'ecrire un programme qui lit un fichier et qui affiche caractère par caractère ce qu'il lit, j'ai le code source suiv Lire,condition binaire [ par Suisse00 ] J'essai de faire en sorte de pouvoir récuprer une valeur binaire dans un fichier pour savoir quelle est sa valeur pour la comparer.Je ses seulement qu Valeur dans un fichier TXT [ par norton ] Bonjour, Mon programme doit affecter une valeur à une variable, cette valeur se trouve dans un fichier txt.jusque la ok, mais une fois que mon program lire un fichier .dat comme input de programme c++ [ par I0o0I ] Hello, On me dit qu il est possible (en c++) qu un programme: nom01.cpp lise son input depuis un fichier nom02.dat... il suffit d inclure au début d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales