IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

comment convertir un int 32 en un int 64 ?


Sujet :

VC++ .NET

  1. #1
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut comment convertir un int 32 en un int 64 ?
    je veux r�cuper la longueur d'un file stream (fs->lenght) et la convertir en un string :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    int ^i = fs->lenght;// ca marche pas puisque fs->lenght est un int64 alors que i est un int 32
    string^stri= i->Tostring;
    comment convertir un int 32 en un int 64 ?

  2. #2
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut comment convertir un int 64 en un int 32 ?
    c plutot l'inverse
    comment convertir un int 64 en un int 32 ?

    merci d'avance

  3. #3
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu castes
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    int i = (int)fs->lenght;
    mais tu risques de perdre de la pr�cision

  4. #4
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    je n'ai pas compris ..
    qu'est ce que tu entend par pr�cision?

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ben, si tu convertis un int64 en int32, si le chiffre est tr�s grand et d�passe la capacit� de stockage, ben, l'int32, ne saura pas le reproduire.

    C'est comme si tu essaies de faire passer des oeufs d'une boite de 12 dans une boite de 6.
    Si t'as 5 oeufs, pas de probl�me, mais si t'en as 10, tu risques d'en perdre 4 ...

  6. #6
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    ah ok merci bien
    donc comment je pourrais d�finir un int 64 ?
    je veux ensuite le convertir en string
    et le recuperer apr�s lors de la decompression des fichiers
    est ce que c'est fesable

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ben en utilisant un System::Int64

  8. #8
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    ok
    merci

  9. #9
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut je mets un string dans un fichier texte mais quand je l'ouvre il ya des caract bizzar
    normalement , je dois obtenier un fichier texte avec les noms des fichiers et leur taille sous forme de string
    mais j'obtient un fichier text avec des caract�res bizarres????
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    files = Directory::GetFiles(path);
    	DirectoryInfo^ di = Directory::CreateDirectory(pathnew);
     
    	for each (file in files)
    	{ 
    		String ^v= file->Substring(path->Length);
     
    		if (!compresserFichier(file, pathnew+v+".gz"))
    				Console::WriteLine("failure in compression");
     
    		FileStream ^fs = gcnew FileStream(file+".gz", FileMode::Open);
    		BinaryReader ^br = gcnew BinaryReader(fs);
     
     
     
    		Int64 ^j =fs->Length();
     
    		String ^jstr = j->ToString();
    		str = +file+","+jstr+";";
    		//str = ""+file;
    		br->Close();
    		fs->Close();
    	}
    et apr�s dans le main:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    CompressDir(textBox1->Text,textBox2->Text);
    				StreamWriter ^sw = gcnew StreamWriter("c:\\mytest.txt");
    				sw->Write(str);
     
    				sw->Close();

  10. #10
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    c bon ..ca marche

  11. #11
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut exception!
    ce que je veux c'est mettre le resultat de la compression des n fichiers dans un seul fichier

    est ce qu'il y a moyen de passer par un array sans que ca me genere une exception??

    et bien sur dans le d�but du fichier je mettrais les noms des fichiers suivies de leur taille

    ce qui va m'aider pour decompresser apr�s

    est ce que quelqu'un peux m'aider ?

    merci d'avance

  12. #12
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut comment je pourrais tt simplement passer d'un int � un String et inversement ?
    voil� j'ai r�cup�r� un int et je l'ai convertis en String

    mais pour le convertir je suis pass� par un int32

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    int i = 9 ;
    int^j ; //j est un int32
    j= i ; 
    String ^jj = j->ToString();
    donc pour r�cup�rer le Int je convertis le String en Int32
    mais par contre je peux pas mettre le Int32 dans le int

    est ce que t'a une id�e comment je pourrais tt simplement passer d'un int � un String et inversement ?

    merci

  13. #13
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  14. #14
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    donc pour passer d'un int32 en int je dois changer de base , c'est ca ?
    j'ai vuce code mais j'ai pas compris ce que ca veut dire ce bout de code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    String ^bin = L"1111";
    int decimal = Convert::ToInt32(bin,2);
    merci

  15. #15
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    rien � voir, la c'est pour convertir une chaine qui repr�sente un binaire

  16. #16
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    j'ai vu comment passer d'un string � un int32 ou int64 .. ca je sais faire
    mais de passer d'un string � un int ? comment je pourrais faire ?

  17. #17
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut est ce que (fs->Length) est un int 64?
    voila je r�cup�re un string o� il y a un int64 , ce int64 contient le nombre de bytes que je veux lire � partir du fichier ouvert

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Int64 ^filelength=System::Convert::ToInt64(fileleng); 
    FileStream ^fs1 = gcnew FileStream(dirSource, FileMode::Append);
    BinaryReader ^br1 = gcnew BinaryReader(fs1);
    
    FileStream ^fws1 = gcnew FileStream(filename, FileMode::CreateNew);
    BinaryWriter ^bw1 = gcnew BinaryWriter(fws1);
    bw1->Write(br1->ReadBytes((int)filelength));//ici il m'affiche une erreur comme quoi il ne peut pas convertir un int64 en un int
    aussi : bw1->Write(br1->ReadBytes(filelength)); ca marche pas
    est ce que tu as une id�e comment je pourrais r�soudre ce pb ?

    merci d'avance

  18. #18
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    j'ai travaill� avec des int32 et ca marche

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Comment convertir int en handle ?
    Par ramanov dans le forum C++Builder
    R�ponses: 1
    Dernier message: 30/08/2007, 13h56
  2. R�ponses: 7
    Dernier message: 26/06/2007, 10h36
  3. R�ponses: 2
    Dernier message: 10/04/2007, 12h39
  4. VC++,comment Convertir CString to Int
    Par mqsi dans le forum MFC
    R�ponses: 2
    Dernier message: 26/10/2006, 14h31
  5. R�ponses: 6
    Dernier message: 28/10/2005, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo