Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichiers et modules en C

4 réponses
Avatar
programmation
Salut,

1) Je utilise beaucoup les fichiers dans mon programme C sous windows.

- J'ai fichier volumineux (supposons des milliers des lignes). Je
voudrais connaitre le nombre des lignes de ce fichier.
Donc je fais:

while (fgets(S,100,fp))
k++;

ici k est le nombre de lignes

- Comment savoir le nombre des lignes sans le pacourir ?

- Comment je positionne directement sur le n =E8me ligne de ce fichier
sans le parcours ligne par ligne jusqu'=E0 le n =E8me ligne ?

2) j'ai des traitements qui se r=E9p=E8tent dans mon programme C. Je
voudrais organiser mon programme C pour devenir lisible et la
possibilit=E9 de r=E9utiliser les traitements fr=E9quents.
j'ai cr=E9e des fonctions mais les fonctions sont locales.
j'ai pens=E9 =E0 faire des modules.

- Comment je vais utiliser les modules dans mon programme C sous
visual studio 2008
sachant j'ai trois types des fichiers de travail dans mon espace de
travail qui sont
Fichiers d'en-t=EAte, Fichiers de ressources et Fichiers de sources.
le programme "main.c" est par d=E9faut sous "Fichiers de sources" ?

- Il y a autres solutions =E0 part les modules ?

Merci.

4 réponses

Avatar
Christian ASTOR
programmation wrote:

- Comment savoir le nombre des lignes sans le pacourir ?



On est obligé de le parcourir.
(comme le fait wc par exemple)

- Comment je positionne directement sur le n ème ligne de ce fichier
sans le parcours ligne par ligne jusqu'à le n ème ligne ?



fseek()

- Comment je vais utiliser les modules dans mon programme C sous
visual studio 2008



En découpant en .c et .h associés
Avatar
programmation
On 26 juil, 16:55, Christian ASTOR wrote:
programmation wrote:
> - Comment savoir le nombre des lignes sans le pacourir ?

On est obligé de le parcourir.
(comme le fait wc par exemple)

> - Comment je positionne directement sur le n ème ligne de ce fichier
> sans le parcours ligne par ligne jusqu'à le n ème ligne ?

fseek()

> - Comment je vais utiliser les modules dans mon programme C sous
> visual studio 2008

En découpant en .c et .h associés



Salut,

j'ai un fichier contient deux champs: un objet (un entier de taille
10) et une valeur (une chaine de caractère de taille 20).
je remplie mon fichier suivant le format suivant: fprintf (fp, "%10d
%20sn",objet, valeur);

Comment utiliser fseek() pour positionner sur la troisième ligne par
exemple ?

Merci.
Avatar
Christian ASTOR
programmation wrote:

Comment utiliser fseek() pour positionner sur la troisième ligne par
exemple ?



fseek(pFile, 2 * (30 + 2) * sizeof(char), SEEK_SET);
Avatar
Christian ASTOR
Christian ASTOR wrote:

programmation wrote:

- Comment savoir le nombre des lignes sans le pacourir ?





On est obligé de le parcourir.
(comme le fait wc par exemple)



A part si ton fichier est de taille fixe...
Dans ce cas, stat() ou GetFileSize() / Longueur d'une ligne.