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

Kilka operacji na stringu

Ostatnio zmodyfikowano 2012-08-21 14:23
Autor Wiadomość
Mrovqa
» 2012-08-21 13:55:58
jak poprawnie zadeklarować warunek pętli, bo podejrzewam że coś jest nie tak :P
Masz na myśli strlen?

dlaczego warunek w pętli nigdy się nie spełnia?
Chyba masz na myśli ifa, co? Warunek pętli to jest to, co znajduję się w nawiasie za słowem while.
if( ps[ znak ] == '/' )
To co napisałeś, to znaczy mniej więcej tyle:
czy suma adresu tablicy i nr znaku jest równy adresowi stringu "/" ?
P-63181
ksry
Temat założony przez niniejszego użytkownika
» 2012-08-21 14:05:22
Tak, o strlen mi chodziło. Dzięki.
Co do warunku, zdążyłem poprawić, ale wiadomo było o co chodzi.
Zlicza mi już linijki, jestem Ci wdzięczny. Jak reszta pójdzie dobrze to zamknę temat.
Jeszcze jedno pytanie dodałem, mogłeś nie zauważyć. Jak mógłbyś udzielić swojej opinii:
- dobrze będzie zamienić \n na / (tekst nie będzie wyświetlany nigdy, będzie trzymany w zmiennej a później zapisywany i czytany z pliku do stringu)?
plik dodatkowo pewnie będzie kodowany :P

aktualny kod, dla potomnych:
#include <iostream>
#include <string.h>

int main()
{
    char* ps = "12345/12345/12345";
    int linia = 1; //aktualnie skanowana linijka
    int znak = 0; //wskaznik zaczyna od 0

    while(znak <= strlen(ps))
    {
        if(ps[znak] == '/') linia++;
        znak++;
    }
    std::cout << "Liczba znakow to: " << (znak-linia) << std::endl;
    std::cout << "Liczba linii to: " << linia;
    return 0;
}
P-63182
Mrovqa
» 2012-08-21 14:23:32
dobrze będzie zamienić \n na / (tekst nie będzie wyświetlany nigdy, będzie trzymany w zmiennej a później zapisywany i czytany z pliku do stringu)
A co, gdyby w tekście był ten slash? Byłby problem z późniejszą interpretacją. Zostaw \n - co Ci szkodzi? Od razu będzie wiadomo, że chodzi o nową linię.
P-63183
1 « 2 »
Poprzednia strona Strona 2 z 2