odczyt danych z wskaznika jak z tablicy

0

Witam,
Musze zaczać zapis do pliku od pustej lini. W jaki sposób dobrać się do danych zapisanych w server_reply tak jak by to była tablica.


    int max = 100000;
    
    char *server_reply; 

    server_reply = (char *) malloc(max * sizeof(char));

    iResult =   recv(socket_desc, server_reply , max, 0);// próbuje wyżej używać funkcji malloc ale nie mam pojęcia jak tu podać rozmiar server_reply (strlen zadziałało) i używam na razie "max" ale to na inny temat juz
   

// Tu wychwytuje w którym miejscu jest znak pustej lini (jak dobrze wyszło) 
     for(i = 0; i <= iResult; i++)
        {
                if(server_reply[i] == '\n'){
                        ax = i;
                        break;
                        }
        }   
       
        printf("i = %d\n\n", ax);

                      
            printf("%s", server_reply[ax]); // tu pojawia się problem chce zaczać wypisywać od tego miejsca ale program się wiesza pętle pominąłem 
                                                          jak i większość kodu
 
}
      To jest najważniejsze co zrobić ze wskaznikiem żeby dobrać się do jego danych jak do tablicy albo usunąć wszystko az do znaku pustej lini.
0

Nie rozumiem pytania. Przecież już się dobrałeś do danych za pomocą tego wskaźnika:

if(server_reply[i] == '\n'){

W tym przypadku używasz wskaźnika tak jakby to była tablica.

2

Tak ale jak próbuje to wypisać na przykład printf("%s", server_reply[ax]); (gdzie wiem że ax to 16 bo tam jest pusta linia) to program się wywala to samo się dzieje w pętli

printf("%s", server_reply+ax);

Tylko upewnij się, że na końcu tego stringa jest null.

1

Sprobuj tak:

printf("%c", server_reply[ax]); 

1 użytkowników online, w tym zalogowanych: 0, gości: 1