Ouvrir plusieur fichierx textes

seignseifer Messages postés 5 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 5 mars 2007 - 5 mars 2007 à 07:41
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 5 mars 2007 à 11:30
Bonjour,
alors je voudrais ouvrir plusieurs fichier textes pour mon programme. J'ai un peu avance mais je bloque sur quelquechose. Je fais une boucle dont i est l'indice. Donc je voudrais ouvrir a chaque fois un fichier "c:\\fichier_i.txt ". Je bloque, voici mon programme:

//---------------------------------------------------------------------------


#include <vcl.h>
#include <stdio.h>
#include <windows.h>
#include <fstream.h>


#include <stdlib.h>


#pragma hdrstop


//---------------------------------------------------------------------------


#pragma argsused
int main()
{


 HANDLE handle;
 BOOL fSuccess;


 


 int i=3;
 unsigned long nblu=0,nbecrit;
char buf2[56];


char * lecteur = "c:\";
char * nomFichier = "test.txt";


char tmp[80];

for (i=1; i<200; i++)
{


strcpy( tmp , lecteur );      // debut de chaine
strcpy( tmp, i);               // la je voudrais mettre le numero du fichier, mais CA MARCHE PAS
strcat( tmp , nomFichier );   // concatener le nom du fichier




char *tmp2=tmp;


 


 handle = CreateFile(
    tmp2,                         
     GENERIC_WRITE | GENERIC_READ, 
    0,                            
    NULL,                       
    CREATE_NEW,               
    FILE_ATTRIBUTE_SYSTEM,
    NULL                          
    ) ;




/*-----------------------------------------------------------*/
/*         Verifier si handle ouvert correctement            */
/*-----------------------------------------------------------*/




 if(handle == INVALID_HANDLE_VALUE)
  {
   printf("Impossible d'ouvrir le port  (erreur %d)\n", GetLastError());
    return 0;


   getchar();
  }




 
 WriteFile(handle,"69",2,&nbecrit,NULL);   // juste pour tester
 getchar();




CloseHandle(handle);
}
 return(fSuccess);
}
//---------------------------------------------------------------------------

3 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
5 mars 2007 à 09:10
Utilise itoa pour transformer le i en chaine de caractere
++
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
5 mars 2007 à 11:19
utilise sprintf

char * lecteur = "c:\";
char * nomFichier = "test";
char * ext = ".txt"
sprintf (nomFichier,%s%s%d%s, lecteur, nomFichier, i, ext);
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 mars 2007 à 11:30
itoa est incomparablement plus rapide que sprintf.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous