Sauvegardes successives de fichiers

Résolu
paciflor Messages postés 5 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 21 février 2008 - 20 févr. 2008 à 15:26
paciflor Messages postés 5 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 21 février 2008 - 21 févr. 2008 à 12:27
Bonjour,
Je débute en C++.Le PC est connecté à une caméra, Mon programme acquisitionne des images successivement et donc je voudrais savoir comment je peux les sauvegarder, pour etre précise mon probleme se situe au niveau du changement de la chaine de caractère qui comporte le nom du fichier.

Merci d'avance.

10 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
20 févr. 2008 à 21:48
Salut,
Sous Windows tu peux utiliser les fonctions GetDateFormat() et GetTimeFormat(). Voici un exemple:

    char path[256];
    char tmp[20];
    SYSTEMTIME st;
    lstrcpy(path,"C:\\img_");
    GetLocalTime(&st);
    GetDateFormat(0,0,&st,"ddMMyyyy",tmp,20);
    lstrcat(path,tmp);
    lstrcat(path,"_");
    GetTimeFormat(0,0,&st,"HHmmss",tmp,20);
    lstrcat(path,tmp);
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 févr. 2008 à 15:39
Salut,
Si tu crées des ficheirs à la volée la meilleure solution reste de les horodatées à un niveau de détails suffisant.
Exemple: img_02202008_153224.jpg pour une image enregistré le 20/02/2008 à 15:32:24

Sinon on ne dit pas "acquisitionne " mais "aquiert".

Shell
0
paciflor Messages postés 5 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 21 février 2008
20 févr. 2008 à 15:51
justement comment faire cet horodatage!?mon soucis est de changer à chaque fois la variable path.

voici un bout du code(en sachant qu'il est inclus dans une boucle pour l'acquisition de plusieurs images):

char path;

// Save image to disk

error = flycaptureSaveImage(context,&savedImage,pathname,FLYCAPTURE_FILEFORMAT_PGM ); //savedImage est l'image à sauvegarder

_HANDLE_ERROR( error,

"flycaptureSaveImage()" );

merci
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 févr. 2008 à 16:16
Utilises GetSystemTime(...) pour récuperer la date et l'heure.
Après a toi de formatter ta chaine comme bon te semble.

Sinon char path est a mon avis faux, tu voulais surement mettre quelques choses du genre char path[MAX_PATH].
Sinon (bis) je ne vois pas dans ton code ou tu utilise la variable path, est-ce en fait pathname ?

Shell
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
paciflor Messages postés 5 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 21 février 2008
20 févr. 2008 à 16:21
oui oui c'est pathname.
en fait, comment est ce qu'il faut faire pour incorporer une variable disons un indice i ou la date et l'heure dans une chaine notamment pathname?
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 févr. 2008 à 16:27
strcat(...) : permet de concaténer des chaines
itoa(...) : permet de convertir un char en int (ex : 56 devient "56")

A toi de jouer maintenant. 

Shell
0
paciflor Messages postés 5 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 21 février 2008
20 févr. 2008 à 16:30
Merci mais pour insérer la valeur de la variable?et non la variable?
Désolé je débute en c++!
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 févr. 2008 à 17:10
Faut se plonger dans un bouquin de C pour acquérir les bases minimales.

ciao...
BruNews, MVP VC++
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
20 févr. 2008 à 17:28
Essaye un truc comme ca, j'ai pas testé et c'est peut etre pas le plus optimisé :



void
FormatFileName(const char szSuffixe[], char
* pszOutFileName)
{   
   SYSTEMTIME sysTime;
   char
szTemp[12];
   char szBuffer[MAX_PATH] = "_";
// MAX_PATH est défini dans windows.h je crois et vaut 256



   GetSystemTime(&sysTime);
   
   itoa(sysTime.wYear, szTemp, 10);
   strcat(szBuffer, szTemp);

   itoa(sysTime.wMonth, szTemp, 10);   
   strcat(szBuffer, szTemp);

   itoa(sysTime.wDay, szTemp, 10);
   strcat(szBuffer, szTemp);
 
  strcat(szBuffer,
"_"
);




   itoa(sysTime.wHour, szTemp, 10);
   strcat(szBuffer, szTemp);



   itoa(sysTime.wMinute, szTemp, 10);
   strcat(szBuffer, szTemp);



   itoa(sysTime.wSecond, szTemp, 10);
   strcat(szBuffer, szTemp);



   strcpy(pszOutFileName, szSuffixe);
   strcat(pszOutFileName, szBuffer);
}








Shell
0
paciflor Messages postés 5 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 21 février 2008
21 févr. 2008 à 12:27
Je vous remercie.
0
Rejoignez-nous