Struktury w C

0

Moglby mi ktos pomoc prawidlowo przekazac strukture w tym programie ?

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<curl/curl.h>
#include<stdbool.h>

struct receiveData{
  char *memory;
  size_t size;
};

static char errorBuffer[CURL_ERROR_SIZE];
char *receiveInput();
static bool init(CURL *conn, char *url);
static int writer(char *data, size_t size, size_t nmemb, void *userp);

int main(int argc, char *argv[]){
  CURL *conn = NULL;
  CURLcode code;
  char buffer[100];
  struct receiveData recDat;

  recDat.memory = malloc(1);
  recDat.size = 0;
  
  if (argc != 3 || (strcmp(argv[1], "pl") == 0 && strcmp(argv[1], "en") == 0)){
    fprintf(stderr, "Usage: %s pl/en <url>\n", argv[0]);
    
    exit(EXIT_FAILURE);
  }

  if(strcmp(argv[1], "pl") == 0)
    sprintf(buffer, "http://translatica.pl//translate.php?direction=plen&source=%s", argv[2]);
  if(strcmp(argv[1], "en") == 0)
    sprintf(buffer, "http://translatica.pl//translate.php?direction=enpl&source=%s", argv[2]);
  
  curl_global_init(CURL_GLOBAL_DEFAULT);
   
  if (!init(conn, buffer)){
    fprintf(stderr, "Connection initializion failed\n");
      
    exit(EXIT_FAILURE);
  }
  
  code = curl_easy_perform(conn);
  curl_easy_cleanup(conn);
 
  if(code != CURLE_OK){
    fprintf(stderr, "Failed to get '%s' [%s]\n", argv[2], errorBuffer);
 
    exit(EXIT_FAILURE);
  }

  return 0;
}

static bool init(CURL *conn, char *url){
  CURLcode code;
  struct receiveData *rec;

  conn = curl_easy_init();
  if(conn == NULL){
    fprintf(stderr, "Failed to create CURL connection\n");
 
    exit(EXIT_FAILURE);
  }
  
  code = curl_easy_setopt(conn, CURLOPT_ERRORBUFFER, errorBuffer);
  if(code != CURLE_OK){
    fprintf(stderr, "Failed to set error buffer [%d]\n", code);
 
    return false;
  }
 
  code = curl_easy_setopt(conn, CURLOPT_URL, url);
  if(code != CURLE_OK){
    fprintf(stderr, "Failed to set URL [%s]\n", errorBuffer);
 
    return false;
  }
 
  code = curl_easy_setopt(conn, CURLOPT_FOLLOWLOCATION, 1L);
  if (code != CURLE_OK){
    fprintf(stderr, "Failed to set redirect option [%s]\n", errorBuffer);
 
    return false;
  }
  
  code = curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, writer);
  if(code != CURLE_OK){
    fprintf(stderr, "Failed to set writer [%s]\n", errorBuffer);
 
    return false;
  }
  
  code = curl_easy_setopt(conn, CURLOPT_WRITEDATA, (void *)&rec);
  if (code != CURLE_OK){
    fprintf(stderr, "Failed to set write data [%s]\n", errorBuffer);
 
    return false;
  }
  
  return true;
}

static int writer(char *contents, size_t size, size_t nmemb, void *userp){
  size_t realsize = size * nmemb;
  struct receiveData *rec = (struct receiveData *)userp;

  rec->memory = realloc(rec->memory,rec->size + realsize + 1);
  if(rec->memory == NULL){
    printf("not enough memory (realloc returned NULL)\n");

    return 0;
  }

  memcpy(&(rec->memory[rec->size]), contents, realsize);
  rec->size += realsize;
  rec->memory[rec->size] = 0;
  
  return realsize;
}
0

Załóż więcej kont :)

0

No to niby jakie mam jeszcze oprocz tego ? wymien

0

Lew, a niby skad przypuszczenia ze to moje konta ? co na to wskazuje niby ?

1

Wskazuje na to to, że o ile tutaj tworzysz nowe konta, to tyle na warsztacie zakładasz te same tematy co tutaj z jednego konta: http://forum.warsztat.gd/index.php?action=profile;u=11984
Zabawne, że gdy piszesz na jednym z for "poradziłem sobie", to prawdziwą wersją jest "na drugim forum ktoś mi to napisał" ;)

0

haha Wielki Lew, jestem w podziwie twojej spostrzegawczosci :D az ci dam lapke w gore xd

1

Ja natomiast jestem zażenowany twoją "spostrzegawczością", od pierwszego posta minęło ponad 7 miesięcy, a pod względem umiejętności, dalej jest na poziomie prawie zerowym.

0

uuu to juz 7 miesiecy, troche czas leci :) Ale czy na poziomie zerowym to nie wiem, ja tam widze u siebie mega progress, wczesniej jakie programy pisalem a teraz juz sieciowe, ncursowe, wg mnie ladnie idzie do przodu :) problem mialem tylko ta strukture dobrze przeniesc ale juz jest spoko,

1

Jest choć jeden program, który napisałeś w 100% sam? To co prezentujesz na forum to zlepek kodu skopiowanego z sieci i napisanego przez forumowiczów. Widać, że nawet nie rozumiesz tego co wklejasz. Rozczaruję cię, ale nie na tym polega programowanie.

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