begin process at 2012 02 12 14:30:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Integration fonction C


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

Integration fonction C

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ée 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 fonction avec un type file* [ par vercd7am ] Bonjour, j'ai ecrit quelques lignes de code pour pouvoir lire un fichier txt. [code=cpp]int main() { int c; FILE *fichier = NULL; fichi Mettre des octets d'un fichier dans un string [ par ddraper ] Bonjour à tous ! Malgrès mes recherches, je suis toujours bloqué. En fait, je ne sais pas comment mettre les octets d'un fichier quelconque dans un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,437 sec (4)

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