İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Script Programlama (Python, Ruby, Perl, Bash/Shell
Script Programlama (Python, Ruby, Perl, Bash/Shell

C neler yanlış?

02320.01.20211 cevap1.780 görüntüleme
2020'den beri3.960 mesaj
#1
Aşağıdaki kodları gcc main.c -o main olarak derliyorum ve libcurl4-gnutls-dev paketi kurulu. Neyi yanlış yapıyorum?
#include <stdio.h>
#include <curl/curl.h>
#include <string.h>
 
int main(void)
{
  char *veri;
  char *data;
  printf("Veri Girin: ");
  scanf("%c", &veri); 
  CURL *curl;
  CURLcode res;
  data = strcat("https://growforum.tk/api/?data=", veri);
  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, data);
 
    res = curl_easy_perform(curl);
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));
 
    curl_easy_cleanup(curl);
  }
  printf("Sonuç: %d", res);
  return 0;
}

main.c: In function ‘main’:
main.c:10:11: warning: format ‘%c’ expects argument of type ‘char *’, but argument 2 has type ‘char **’ [-Wformat=]
   10 |   scanf("%c", &veri);
      |          ~^   ~~~~~
      |           |   |
      |           |   char **
      |           char *
/usr/bin/ld: /tmp/ccymCODi.o: in function `main':
main.c:(.text+0x1a6): undefined reference to `curl_easy_init'
/usr/bin/ld: main.c:(.text+0x1d2): undefined reference to `curl_easy_setopt'
/usr/bin/ld: main.c:(.text+0x1de): undefined reference to `curl_easy_perform'
/usr/bin/ld: main.c:(.text+0x1f1): undefined reference to `curl_easy_strerror'
/usr/bin/ld: main.c:(.text+0x21b): undefined reference to `curl_easy_cleanup'
collect2: error: ld returned 1 exit status

Bilen yok mu?
cURL sorunlarını çözdüm arkadaşlar, derlerken gcc main.c -o main yerine gcc main.c -lcurl -o main yazıyoruz. Ama char** ile alakalı olanı çözemedim.
❤️ 1düzenlendi
Cevaplar
2021'den beri183 mesaj
#2

  char veri[150];
  char data[500];
  char url[100]="https://deneme.com/api/?data=";
....

scanf("%s", veri);
strcpy(data, strcat(url, veri));



char* tipi deklarasyonları dizi tipi olacak şekilde dönüştür bir de
data = strcat("https://growforum.tk/api/?data=", veri) deki gibi data'yı direkt eşitlemek yerine strcpy ile kopyalarsan daha güvenli olur. Ben bu değişikliklerle, eski Windows XP laptopumda derledim ve kod sorunsuz çalıştı.
👍 2

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.