Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z wczytywaniem wartości z argumentu funkcji.

Ostatnio zmodyfikowano 2017-06-05 00:44
Autor Wiadomość
Gimlith
Temat założony przez niniejszego użytkownika
Problem z wczytywaniem wartości z argumentu funkcji.
» 2017-06-04 21:15:20
Posiadam argument funkcji w postaci k=23 jak wyłuskać z niego samą liczbę 23 i zapisać ją do zmiennej(argument może się zmieniać na k=223)?
P-162058
Kinexity
» 2017-06-05 00:12:21
Powinno załatwić sprawę:

C/C++
int function( string arg ) {
    int buf =[]( string arg_in )->int {
        for( int i = 0; i < arg_in.length(); i++ ) {
            if( arg_in[ i ] == '=' ) {
                return i + 1;
            }
        }
    }( arg ), number = stoi( string( arg, buf, arg.length() - buf ) );
    return number;
}
P-162069
maly7
» 2017-06-05 00:44:18
Jeśli w stringu jest tylko np. "k=234" to można tak:
C/C++
int function( string arg )
{
    unsigned int found = arg.find( '=' );
    if( found != string::npos ) // jesli w stringu znaleziono '='
         return stoi( arg.substr( found + 1 ) ); // zwraca liczbe znajdujaca sie za znakiem '='
   
    return - 1; // jesli nie znaleziono '=' zwraca -1
}

lub bezpieczniejsze:
C/C++
int function( string arg )
{
    return strtol( arg.substr( arg.find( '=' ) + 1 ).c_str(), nullptr, 10 );
}
P-162070
« 1 »
  Strona 1 z 1