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

Zwracanie tekstu przez funkcję

Ostatnio zmodyfikowano 2011-10-22 22:16
Autor Wiadomość
kill
Temat założony przez niniejszego użytkownika
Zwracanie tekstu przez funkcję
» 2011-10-22 17:58:45
Napisałem coś takiego:
C/C++
char * OSTRING::d_qmark( char * path )
{
    int size_a = 1;
    int size_path = size( path );
    char new_path[ size_path - 2 ];
    while( path[ size_a + 1 ] != false )
    {
        new_path[ size_a - 1 ] = path[ size_a ];
        size_a++;
    }
   
    return new_path;
}
Aczkolwiek funkcja zwraca jakieś znaczki.
Gdy zrobię np tak:
C/C++
char new_path[ 256 ];
char * OSTRING::d_qmark( char * path )
{
    int size_a = 1;
    int size_path = size( path );
    while( path[ size_a + 1 ] != false )
    {
        new_path[ size_a - 1 ] = path[ size_a ];
        size_a++;
    }
   
    return new_path;
}
to jest dobrze aczkolwiek nie chce podawać przed funkcją wielkości dla new_path.
Czy mogę to jakoś obejść ?
P-42451
DejaVu
» 2011-10-22 19:15:10
C/C++
std::string OSTRING::d_qmark( char * path )
{
    int size_a = 1;
    int size_path = size( path );
    char new_path[ size_path - 2 ];
    while( path[ size_a + 1 ] != false )
    {
        new_path[ size_a - 1 ] = path[ size_a ];
        size_a++;
    }
   
    return std::string( new_path );
}
P-42456
kill
Temat założony przez niniejszego użytkownika
» 2011-10-22 19:21:20
niestety jedynie program się wiesza ^.^
P-42459
DejaVu
» 2011-10-22 19:22:37
No to popraw:
C/C++
return std::string( new_path, size_a - 1 );
Wywołanie natomiast powinno wyglądać tak:
C/C++
char napis[] = "bla";
OSTRING xx;
printf( "%s\n", xx.d_qmark( napis ).c_str() );
P-42460
kill
Temat założony przez niniejszego użytkownika
» 2011-10-22 19:30:51
dzięki działa już ^.^
mam jeszcze takie pytano: jak by to zrobić bez wykorzystania biblioteki string ?
P-42461
DejaVu
» 2011-10-22 19:31:50
Dynamiczna alokacja pamięci i potem pamiętanie o jej zwolnieniu.
P-42462
kill
Temat założony przez niniejszego użytkownika
» 2011-10-22 19:33:03
rozumiem że bardziej opłacalne jest użycie biblioteki string tak ?
P-42463
Drraven
» 2011-10-22 19:57:25
IMHO po co klasa (std::string) do takiego celu? Daj new a potem zwolnij to :D
P-42464
« 1 » 2
  Strona 1 z 2 Następna strona