Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++]Problema String

  1. #1

    [C++]Problema String

    Ho la seguente classe
    codice:
    #ifndef CONF_H
    #define CONF_H
    
    #include "Lib.h"
    
    namespace LucLib{
    /**
     * La classe della configurazione
     */
    class Conf 
    {
    	public:
    		Conf(string nome, string autore, double vers=0.0);
    		~Conf();
    		string Parse(string &in);
    		void Salva(string nome, string text);
    	private:
            string _nome;/** Il nome dem programma **/
            double _vers;/** La versione del programma **/
            string _autore;/** L'autore del programma **/  	
    };
    
    #endif // CONF_H
    }
    codice:
    #include "Conf.h"
    
    namespace LucLib{
    /*
    * Inizializza l0autore, il nome del programma e la versione
    */
    Conf::Conf(string nome, string autore, double vers): _nome(nome), _vers(vers), _autore(autore)
    {
    }
    
    
    /**
    * Virtuale: No
    * Funzione: Controlla che l'input da scrivere rispetti determinate regole
    * Argomenti: La stringa da salvare
    * Return: La stringa formattata
    * Eccezioni: 
    */
    string Conf::Parse(string &in)
    {
        int num_ok = 0;
        int num_no = 0;
        string def[4] = {"[NOME]", "[AUTORE]", "[VERSIONE]"};
        vString tag(def, def+4);
        vString::iterator scor = tag.begin();
        for(; scor != tag.end(); scor++)
        {
            for(int i=0;i<in.lenght();i++)
            {
                if( in.find(in.end, in.beg, *scor) == true )
                {
                            num_ok++;
                }else{
                            num_no++;
                } 
                
                if( (num_ok == 3) || (num_no == 3))
                            break;
    
            }
        }
        switch(num_ok)
        {
            case 1:
                    break;
            case 2:
                    break;
            case 3:
                    break;        
        }
        switch(num_no)
        {
            case 1:
                    break;
            case 2:
                    break;
            case 3:
                    break;
        }
        
    }
    /**
    * Virtuale: No
    * Funzione: Scrive la conf del programma
    * Argomenti: Il nome del files, il testo
    * Return: -
    * Eccezioni: Controllato da Parse()
    */
    void Conf::Salva(string nome, string text) 
    {  
       ofstream out(nome.c_str(), ios::app | ios::out); 
       //Parse(&text);
       out.close(); 
    } 
    
    }//-
    Ma quando cerco di cmpilare m da:
    Compilatore: C++ Optimized Maximum
    Building Makefile: "C:\Documents and Settings\Admin\Desktop\Luca\Programmazione\LucLib2 \Makefile.win"
    Esecuzione di make...
    make.exe -f "C:\Documents and Settings\Admin\Desktop\Luca\Programmazione\LucLib2 \Makefile.win" all
    g++.exe -c Lib/Conf.cpp -o Out/Conf.o -I"C:/Dev-Cpp/include/c++" -I"C:/Dev-Cpp/include/c++/mingw32" -I"C:/Dev-Cpp/include/c++/backward" -I"C:/Dev-Cpp/include"

    Lib/Conf.cpp: In member function `std::string

    LucLib::Conf::Parse(std::string&)':
    Lib/Conf.cpp:27: no matching function for call to `std::basic_string<char,
    std::char_traits<char>, std::allocator<char> >::lenght()'
    Lib/Conf.cpp:29: `struct std::basic_string<char, std::char_traits<char>,
    std::allocator<char> >' has no member named `beg'

    make.exe: *** [Out/Conf.o] Error 1

    Esecuzione terminata
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  2. #2
    basta leggere l'output del compilatore,

    linea 27: ti dice che non esiste il metodo string::lenght()

    linea 29: ti dice che non esiste il membro string::beg

  3. #3
    Risolto!
    Secondo te faccio bene ad usare tutta sta STL?
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  4. #4
    si,se riesci a essere piu veloce a fare i programmi e a renderli + mantenibili, seno' vai di char*....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.