begin process at 2012 05 30 01:12:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Ouvrir un fichier dans son intégralité en C++


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

Ouvrir un fichier dans son intégralité en C++

samedi 14 avril 2007 à 23:02:35 | Ouvrir un fichier dans son intégralité en C++

ndubien

Membre Club
Bonjour,

J'ai déjà posé cette question, mais elle n'a été qu'à moitié satisfaite.
Je m'explique je suis en train de créer un programme qui necessite d'ouvrir tous types de fichiers : or avec la fonction actuelle que j'ai pour ouvrir les fichiers, le caractère ASCII 26 (SUB) n'est pas ouvert et stoppe complètement l'ouverture du fichier.

Ma fonction actuelle :

string ouvrir_fichier(string nom_fichier) {
 string phrase;
 ifstream fichier(nom_fichier.c_str());
 if (!fichier) {
  cout <<"Erreur, fichier corrompu ou inexistant !\n\n";
  phrase = "Erreur, fichier corrompu ou inexistant !";
 } else {
  stringstream buffer;
  buffer << fichier.rdbuf();
  fichier.close();
  phrase = buffer.str();
 }
 return phrase;
}

La dernière fois que j'avais posé ma question, la réponse ouvrait tous le fichier mais dés qu'il rencontrait le caractère SUB, il ajoutait des caractères.

Pour information, je souaiterai déposer ce programme sur cppfrance.com mais s'il n'ouvre pas tous les fichiers, il paraîtra inutile mais surtout non finis.

Programmation c++ console

Merci d'avance et à bientôt.
Nico
samedi 14 avril 2007 à 23:09:02 | Re : Ouvrir un fichier dans son intégralité en C++

ndubien

Membre Club


Bonjour,

Mon ancienne question :
http://www.cppfrance.com/infomsg_PROBLEME-AVEC-OUVERTURE-TOTALE-CERTAINS-FICHIERS_891898.aspx

La réponse que j'ai suivit mais qui ne fonctionnait pas parfaitement était (je l'ai bien sûr transformé en fonction afin de pouvoir l'utilisé dans mon programme) :

// read file data using associated buffer's members
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  filebuf *pbuf;
  ifstream filestr;
  long size;
  char * buffer;

  filestr.open ("test.txt");

  // get pointer to associated buffer object
  pbuf=filestr.rdbuf();

  // get file size using buffer's members
  size=pbuf->pubseekoff (0,ios::end,ios::in);
  pbuf->pubseekpos (0,ios::in);

  // allocate memory to contain file data
  buffer=new char[size];

  // get file data  
  pbuf->sgetn (buffer,size);

  filestr.close();

  // write content to stdout
  cout.write (buffer,size);

  return 0;
}


Si votre réponse fonctionne merci de me la faire savoir.

Merci d'avance pour vos réponses
A bientôt
Nico
lundi 16 avril 2007 à 11:13:45 | Re : Ouvrir un fichier dans son intégralité en C++

JejeLand

Membre Club

Bonjour,

J'ai trouvé ce lien [ Lien ]

Je pense que si tu utilise la fonction open en mode binary le caractere SUB ne sera plus pris en compte.

Dans ton cas filestr.open ("test.txt",ifstream::binary);



Cette discussion est classée dans : fichier, ouvrir, string, fichiers, phrase


Répondre à ce message

Sujets en rapport avec ce message

Ouvrir et lire un fichier texte en C++.net [ par Eels ] Voila j'aimerais ouvrir un fichier texte qui se presente sous cette forme:NumPort Nom du trojanNumPort2 Nom du trojan 2En fait, je fais un scanner de Ouverture de plusieurs fichiers dans la meme instance d'un application [ par otofraise ] Boujour a tous,J'ai fait l'association entre un type de document et une application que j'ai developpee.Si je double-clique sur un fichier de ce type, Comment ouvrir plusieurs fichiers dans le meme process [ par Toutoun13 ] Bonjour, Je cherche un moyen d'ouvrir plusieurs fichiers dans le meme process. Je m'explique, j'ai dans mon appli un bouton qui me permet d'ouvrir un Problème avec l'ouverture totale de certains fichiers! [ par ndubien ] Bonjour, J'ai un problème avec l'une de mes fonctions, cette derniere est censée ouvrir tous les fichiers du début à la fin mais lorsqu'elle renc Ouvrir un fichier [ par ndubien ] Bonjour,Comment récupérer le nom des fichiers ouverts avec :ZeroMemory(&ofn, sizeof(OPENFILENAME));ofn.lStructSize = sizeof(OPENFILENAME);ofn.hwndOwne Ouverture de fichier [ par chevalboiteux ] Bonjour,Je développe une application qui doit intercepter l'ouverture des fichiers sur un disque réseau pour effectuer un traitement sur ceux-ci avant ouverture de fichier compresser .arj [ par vercd7am ] Bonjour, j'aurais aime savoir comment ouvrir des fichiers compresses en .arj puis enregistrer les fichiers ailleurs. Ouvrir, lire, parcourir un fichi Lecture de fichiers verrouillés [ par norton ] Bonjour / Bonsoir à tous. Pouvez-vous me dire si il est possible sous Windows de lire un fichier en "temps réel" verrouillé par le système ? Je m'e Ouvrir un fichier JPEG [ par gamers84 ] Salut a tous Je voudrais creer un programme en C permetant au utilisteur d'ouvrir un image jpeg mais je ne sait pas comment ouvir l'image a aprtir du renommer fichiers par lot avec données contenues dans un fichier dbf [ par hanssn ] j'ai des fichiers au format mp3 avec comme nom pour chaque fichier un code ! j'ai aussi un fichier dbf contenant les descriptions pour chaque fichier


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



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

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