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

[C/C++] Dopełnienie spacjami tekstu string.

Ostatnio zmodyfikowano 2015-01-01 19:26
Autor Wiadomość
GabeN
Temat założony przez niniejszego użytkownika
[C/C++] Dopełnienie spacjami tekstu string.
» 2014-12-31 08:11:38
Witam. Mam zmienną string, która wygląda tak:
string str = "Znaleziono 8 liczb w tekscie.";

Chciałbym wiedzieć, czy jest jakiś sposób, aby dopełnić miejsce spacjami między wyrazem "Znaleziono", a liczbą do np. 5 miejsc, dzięki czemu ta zmienna wyglądałaby tak:
str = "Znaleziono     8 liczb w tekscie";

Dla liczby 356 wyglądałoby to tak:
str = "Znaleziono   356 liczb w tekscie";

itp.
Oczywiście zachowuję pierwotne spacje między wyrazami, a liczbą.
Szukałem dość długo w internecie i znalazłem tylko funkcje, które modyfikują w ten sposób std::cout, a w żaden sposób nie modyfikują zmiennej. Istnieją jakieś funkcje do modyfikowania zmiennej string w te sposób?
P-123724
turaz
» 2014-12-31 09:27:33
Może
insert()
?
[url=http://www.cplusplus.com/reference/string/string/insert/]Dokumentacja string[/url]
Podajesz pozycję w której ma zostać wstawiony string i insertujesz string'a złożonego z tych spacji.
P-123725
dawiolp16
» 2014-12-31 10:17:23
O takie coś ci chodzi?
C/C++
#include <iostream>
#include <sstream>
#include <iomanip>

using namespace std;

//Przyklad z petla for

int main()
{
   
    //Strumien napisow
    stringstream ss;
   
    //i = Znalezione liczby
    for( int i = 0; i <= 100; i++ )
    {
       
        ss << "Znaleziono " <<
       
        //Wypelnianie miejsc spacjami
        setfill( ' ' ) <<
       
        //Ilosc spacji - w twoim wypadku 5
        setw( 5 ) << i << " liczb w tekscie.\n";
       
    }
   
    //Przypisanie zawartosci strumiena do stringa str
    string str = ss.str();
   
    cout << str;
   
    return 0;
}
P-123726
RazzorFlame
» 2014-12-31 15:33:19
C/C++
int main()
{
    ostringstream stream;
    for( int i = 0; i < 999; i++ )
    {
        stream.str( "" );
        stream << i;
        string liczba = stream.str();
        string znaleziono = "Znaleziono " + string( 4 - liczba.length(), ' ' ) + liczba + " znakow w tekscie";
        cout << znaleziono << endl;
    }
    return 0;
}
P-123738
GabeN
Temat założony przez niniejszego użytkownika
» 2015-01-01 19:26:59
Dziękuję Wam za pomoc, właśnie o takie coś mi chodziło :)
Sądzę, że mogę już spokojnie zamknąć temat.
Jeszcze raz dziękuję :)
P-123809
« 1 »
  Strona 1 z 1