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 : Integration fonction C [ Archives / API ] (metek)

mercredi 24 mars 2004 à 01:09:27 | Integration fonction C

metek

Bonjour!!
Voila j'ai une ptite question sur les API!!!
J'ai fait un petit programme qui liste un fichier texte cherche un mot entré et recupere le reste de la ligne dont voici le code:


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

char mot[100],file_t[10000],newtext[10000];
char k[0];



//Fonction principale
main()
{
FILE *file,*file1;
char s_read[10000];
int l_mot=0,l_file=0,t,z,n,decal=0;

system("cls");
puts("ADMIN help by METEK\n");

//Entrée du chemin du fichier
file_c();


//Ouverture en BINAIRE
file=fopen(file_t,"rb");
//Il s'agit ici de compter combien d'octets contient le fichier
//Un caractère étant codé sur 1 octet on aura donc le nombre de caractères du fichier
//Le pointeur est initialement au début du fichier
//Tant que l'on atteint pas la fin du fichier,
//On place dans n un bloc du fichier de la taille d'un entier et on incrémente l_file
//Le pointeur avance ainsi à chaque tour de la taille d'un entier (4 octets)
//Il faudra donc multiplier l_file par 4 pour avoir le nombre d'octets et non de groupes de 4 octets
while(!feof(file))
{
n=getw(file);
l_file++;
}
//On multiplie par 4 pour obtenir le nombre d'octets
l_file=l_file*4;
//On ferme
fclose(file);
//Ouverture en ASCII
file1=fopen("temp1.txt","w");
file=fopen(file_t,"r");
printf ("> Fichier trouv%c (%d caract%cres) : OK",130,l_file,138);


//Entrée du mot recherché
mot_recherche();
//Longueur du mot
l_mot=strlen(mot);
//Erreur si la longueur du mot est nulle
if ((!l_mot)||(l_mot>100))
{
puts("\n> Mot incorrect (longueur nulle ou > 100) : ERREUR");
puts("> Appuyez sur une touche pour continuer...");
getch();
main();
}

for (t=0;t<=(l_file-l_mot);t++)
{
//On place le pointeur à la position t (initialement nulle puis incrémentée)
fseek(file,t,0);
//On récupère l_mot caractères à partir de cette position
//(autant de caractères que de caractères dans le mot)
//Attention, le deuxième argument est 'l_mot+1' pour récupérer l_mot caractères !
fgets(s_read,l_mot+1,file);
//Si les chaînes mot et s_read sont identiques
if(!(strcmp(s_read,mot)))
{
char c;


while ( (c = getc(file)) != '\n' )
fputc (c,file1);
fprintf(file1,"\n");



}
}
fclose (file1);
fclose(file);

printf("tout a ete realise avec succes");



getch();
exit();
}


//Fonction d'entrée du mot recherché
int mot_recherche()
{
printf("\n\n> Mot recherch%c ? ",130);
gets(mot);
fflush(stdin);
return 0;
}

//Fonction d'entrée du chemin du fichier
int file_c()
{
printf("> Chemin d'acc%cs du fichier texte ? ",138);
gets(file_t);
fflush(stdin);
return 0;
}

Bon tout cela tourne impecable sous dos!!
Or maintenant j'aimerai y mettre avec une interface graphique et y integrer a un editeur de texte programmer avec les API!!
Comment puis je faire ???
Je dois refaire tout le code ???

mercredi 24 mars 2004 à 01:18:52 | Re : Integration fonction C

BruNews

Administrateur CodeS-SourceS
Refaire tout le code: EXACT !!!

FILE *file, devient:
HANDLE hfl; // par exemple
fopen devient:
hfl = CreateFile(....);

ensuite hyper simple, WriteFile ou ReadFile.
API ne connait que des buffers d'octets, tu lui demandes la quantite il te la sort si dispo.
Sera a toi de detailler le buffer pour extraire les lignes, etc...

Regarde les sources publiees avec MSDN ouvert a cote.

ciao...
BruNews, Admin CS, MVP Visual C++

mercredi 24 mars 2004 à 01:32:24 | Re : Integration fonction C

metek


Merci pour cette reponse meme si ca me fait pas trop trop plaisir!!!
Bon je vais voir tous ca merci encore

mercredi 24 mars 2004 à 01:38:18 | Re : Integration fonction C

BruNews

Administrateur CodeS-SourceS
Mais si en avant, rien de tel que API.

ciao...
BruNews, Admin CS, MVP Visual C++

mercredi 24 mars 2004 à 01:58:00 | Re : Integration fonction C

metek

il est possible de consulter hors ligne car demin je pense y travailler a la fac mais avec le portable dehors j'ai pas internet???

mercredi 24 mars 2004 à 09:29:08 | Re : Integration fonction C

BruNews

Administrateur CodeS-SourceS
Prends ces 2 indispensables:
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip

http://brunews.free.fr/brunews/download/JR4.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip

Le mieux est d'en obtenir une version que tu installes, tout de meme plus pratique. MSDN est normalement livre avec Visual Studio.

ciao...
BruNews, Admin CS, MVP Visual C++



Cette discussion est classé dans : fichier, fonction, file, mot, octets


Répondre à ce message

Sujets en rapport avec ce message

Probleme d'ecriture et copie fichier texte [ par metek ] SalutMon but est d'etudier un fichier txt de rechercher un mot,le localiser et enfin de copier le rest de la ligne(donc les mots qui le suivent sur la Fonction dans une structure ? [ par mayti ] Bonjour, voilà j'esseye d'utiliser une fonction dans une structure pour par exemple effacer un fichier: struct FICHIER {     char *path;     sta pb avec fonction [ par kyript ] bonjourvoila  j'ai une fonction connect   qui marche tres  bien  mais si je la lance plusieur fois de suite,  a un certain moment le programme se ferm Fonction de lecture de fichier [ par bastet1978 ] Bonjour, je suis nouveaux en c, et je veux utiliser une fonction pour ouvrir mes fichiers (eviter a chaque foix de tester si ouverture ok ... etc) Voi programme en C [ par rosco91 ] bonjour, cela fait deux jour que je cherche un programme qui me permettra de lire plusieur fichiers textes existants dans un dossier. J'ai un programm fonction fread lit bizarrement un fichier texte [ par bilel59 ] Bonjour à tous, voici mon problème : j'écris dans le fichier vect3.txt 3 floats grâce à la fonction fwrite, cela se passe bien cependant, lorsque je v dictionnaire en c [ par MARWOUTTA ] Slt, j'ai un mini projet sur la réalisation d'un dictionnaire en c de cette façon et je ne sais pas comment faire? Si vous pouvez aidez-moi; voilà l Récuper un mot dans un fichier [ par thegame88 ] Bonjour à tous,Je suis entrain de développer un pti prog je voudrais que ce prog me permette de récupérer les 16 derniers caractères d'un fichier.Ce f slt tout le monde je suis un étudient en 1 année télécom ;aidez moi svp a faire mon mini projet en longuage c [ par benyagouta ] la problème :implémenter  un dictionnaire de trduction en utilisant tout d'abord des tableaux ensuite des listes simplement chainéesimplémentation sta fonction qui retourne une structure [ par lamiaa1984 ] Bonjour tout le Mondeje souhaite lire un ficher et mettre ses valeurs dans des variables, puis je veux affecter ces variable dans des variable d'une s


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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,312 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é.