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

[C++] Wczytywanie danych, fstream

Ostatnio zmodyfikowano 2013-11-05 18:55
Autor Wiadomość
Vister26
Temat założony przez niniejszego użytkownika
» 2013-11-05 17:58:09
Dlaczego musi być we wskaźniku? W takiej formie przyjmuje to funkcja, do której chcesz to podać? To też tak nie działa.

Tak, funkcja tworząca gniazdo potrzebuje aby IP było zapisane w takiej formie.

@Edit:


C/C++
plik.seekg( 4 ); // Przechodzimy do 4 linijki :D
To tak nie działa
Dobra już wiem jak to działa. Argumentem jest tu ilość opuszczanych znaków a nie linijek.


C/C++
plik >> IPBuffer; // Zapisujemy cala linijke do bufora
Jak wyżej.
Zmienilem 'char IPBuffer[ 20 ]' na 'string IPBuffer' i dziala.


Do tego nawet nie potrzeba pętli.
Użyć funkcji find()? Tylko nie zbyt wiem jak działa (czytałem dokumentację ale tylko po polsku)
C/C++
char * IP = find( first, last, value );
Możliwe jest aby ta funckja zwróciła zakres znaków zamiast jednego podanego w value?
P-95365
pekfos
» 2013-11-05 18:24:19
Tak, funkcja tworząca gniazdo potrzebuje aby IP było zapisane w takiej formie.
To nie musisz nic specjalnego robić. Istnieje niejawna konwersja tablicy char, na char*.

Zmienilem 'char IPBuffer[ 20 ]' na 'string IPBuffer' i dziala.
Operator >> nie zawsze wczytuje całą linię.

Użyć funkcji find()? Tylko nie zbyt wiem jak działa (czytałem dokumentację)
C/C++
char * IP = find( first, last, value );
Możliwe jest aby ta funckja zwróciła zakres znaków zamiast jednego podanego w value?
To czytałeś dokumentację, czy nie? By obciąć pierwsze n znaków c-stringa, nie musisz używać żadnych funkcji. Wystarczy dodać n do adresu c-stringa. Odcinanie ostatnich znaków jest równie łatwe. Wystarczy umieścić znak zerowy za ostatnim znakiem, który chcesz zachować. Oczywiście do tego wszystkiego możesz używać odpowiednich funkcji z biblioteki standardowej, ale tak jest chyba prościej.
C/C++
#include <iostream>

int main() {
    char str[] = "abcdef";
    std::cout << str + 3 << std::endl;
   
    str[ 3 ] = 0;
    std::cout << str;
}
def
abc
P-95369
Vister26
Temat założony przez niniejszego użytkownika
» 2013-11-05 18:55:04
Dzięki wszystkim za pomoc, szczególnie pekfosowi. Wszystko mi już działa.
Pozdrawiam ;)
P-95380
1 « 2 »
Poprzednia strona Strona 2 z 2