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 :

impossible de convertir le paramètre 1 de 'std::ifstream' en 'char *'


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut impossible de convertir le paramètre 1 de 'std::ifstream' en 'char *'
    Bonjour à tous
    j'ai une erreur que j'arrive pas résoudre encore avec la fonction getline

    voir ci dessous le bout de code

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    SyntheticCDO::SyntheticCDO(const char* filename){
    	CreditdefaultSwap cds;
    	// Parametres d'un cds
    	double nominal;
    	double cours;
    	double recovery_rate;
    	string line;
    	size_t size;
    	char* line_tmp;
     
    	char* token;
    	vector<char*> v_tokens;
    	ifstream file;
    	file.open(filename, ifstream::in);
     
    	if (!file.is_open()){
    		cout <<"Impossible de lire dans le fichier " 
                                   << filename <<endl;
    	                 }
    	     else{
    	cin.getline(file, line.size()); // Enleve la ligne des noms des colonnes
    		      while(!file.eof()){
    			  v_tokens.clear();
    			  getline(file, line);
    			  if(line.size() !=0){
    			// Conversion en char* pour utiliser strtok
    				size = line.size() +1;
    				line_tmp = new char[size];
    				strncpy(line_tmp, line.c_str(), size);
     
    				// Tokenizer
    				token = strtok(line_tmp, "\t");
    				v_tokens.push_back(token);
     
    				while (token != NULL){
    					token = strtok (NULL, "\t%");
    					v_tokens.push_back(token);
    				}
    				nominal = atof(v_tokens[0]);
    				cours = atof(v_tokens[1]);
    				recovery_rate = atof(v_tokens[2]);
    				cds.setNominal(nominal);
    				cds.setCours(cours);
    				cds.setRecoveryRate(recovery_rate);
    				cds.setHazardRate();
    				addCDS(cds);
    			}
    		}
    		file.close();
    	}
    	int n = (int)v.size();
    	correl = (double**) malloc(n*sizeof(double*));
    	for(int i=0;i<n;i++){
    		correl[i] = (double*) malloc(n*sizeof(double));
    		for(int j=0;j<n;j++){
    			correl[i][j] = 0.0;
    		}
    	}
    	maturity = 0;
    }

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut

    Code erroné : Sélectionner tout - Visualiser dans une fenêtre à part
    cin.getline(file, line.size()); // Enleve la ligne des noms des colonnes
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    getline(file, line); // Enleve la ligne des noms des colonnes

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2011, 10h57
  2. Réponses: 4
    Dernier message: 25/02/2010, 15h22
  3. Réponses: 20
    Dernier message: 08/12/2009, 20h42
  4. Réponses: 2
    Dernier message: 29/12/2008, 18h49
  5. [XPATH] Impossible de convertir #BOOLEAN en un NodeList
    Par claudyyyyy dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 08/02/2006, 16h00

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