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

C++ Discussion :

concaténation fichier video


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 24
    Points
    24
    Par défaut concaténation fichier video
    Bonjour tout le monde

    Voila mon probleme j'arrive a copier un fichier dans un autre mais quand je veux concatener un fichier avec un aute, c'est à dire rajouter en fin de fichier un autre fichier il y a un probleme.

    il ne me rajoute pas en fin de fichier il fait simplement une copie pourtant je lui dis de rajouter a la fin.

    Je travail avec des fichier vidéo.

    Voici le code pour la copie et la concaténation

    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
     //copie du fichier source
    std::ifstream source( "C:\\..\\video0.avi",std::ios_base::binary );
    std::ofstream destination( "C:\\..\\video.avi",std::ios_base::binary );
    char buff[4096];
    while ( !source.eof() )
    {
    source.read ( buff, sizeof( buff ) );
    destination.write ( buff, source.gcount() );
    }
     
    //on rajoute le fichier file a file1
    std::ifstream file( "C:\\...\\video1.avi",std::ios_base::binary );
    //ouverture avec ajout en fin de fichier 
    std::ofstream file1( "C:\\..\\video.avi", std::ios_base::binary,std::ios_base::app); 
     
     
    while ( !file.eof() )
    {
    file.read ( buff, sizeof( buff ) );
    file1.write ( buff, file.gcount() );
    }
    Merci tout le monde

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Points : 46
    Points
    46
    Par défaut
    bah je pense que l'ouverture du fichier que tu fais est la cause du problème. Je te propose de récupérer toutes les données dans le fichier de destination de le stocker faire une concaténation de ca avec la chaine de l'autre fichier puis d'écrire dans le fichier destination l'ensemble de la chaine.


    Travail, Travail quand tu nous tiens...

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Points : 24
    Points
    24
    Par défaut
    Je comprend pas tous ce que tu veux faire...

    Je pense que le probème provient de la 2ième écriture dans le fichier (concaténation) mais j'arrive pas a résoudre le problème

    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Points : 46
    Points
    46
    Par défaut
    oki je vais essayer d'être plus clair:

    ton deuxième destination.write(...), on sait tous les deux que le problème viend de là, moi je pense que ton option d'ouverture de fichier écrase le contenu, du coup la deuxième fois que tu l'ouvres tu écrases les données déjà existantes dedans et comme tu écris par dessus => t'as l'impression de faire du copy et non du concatènation.

    la solution que je te propose c'est : tu prends le fichier video1 tu récupères les données dans un char stockage1[4000], ensuite tu prend le fichier video2 tu récupère les données que tu mets dans char stockage2[4000] tu fait un stockage[8000] pour être sur que tes données ne vont pas déborder de la chaine de caractères. tu fais un "strcpy(stockage,stockage1)" ensuite tu fais un "strcat(stockage,stockage2)" => et pour finir tu fais un "destination.write(stockage,...)"

    j'ai essayé d'être le plus clair que possible, si t'arrives toujours pas à me déchiffrer, n'hésite pas


    Certains travaillent pour vivre, d'autres vivent pour travailler, moi je suis étudiant...

Discussions similaires

  1. flash code pour fichier video probleme swf
    Par fasilafer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/02/2006, 09h37
  2. [DirectShow] rendu d'un fichier video deja ouvert
    Par el3gans dans le forum DirectX
    Réponses: 7
    Dernier message: 24/01/2006, 16h01
  3. Réponses: 0
    Dernier message: 21/11/2005, 12h14
  4. [Librairies] Récupérer dimensions fichier video
    Par JavaSearch dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/11/2005, 14h17
  5. Réponses: 7
    Dernier message: 04/06/2004, 15h20

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