Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: gokhangokcen - 20 Eylül 2016, 08:39:08

Başlık: string'in belli bir kısmını değiştirme
Gönderen: gokhangokcen - 20 Eylül 2016, 08:39:08
cümleten iyi günler dilerim,
aşağıda vermiş olduğum kod parçasında bulunan char headerText[] isimli değişkende bulunan ip adresi yazan kısmını programda manuel olarak değiştirmem gerekiyor.Değişkeni nasıl parçalarım? sonra istediğim değişkeni yaptıktan sonra nasıl geriye string olarak toplayabilirim?


#include <main.h>

#fuses NOWDT,NOLVP,NODEBUG,NOPROTECT            //,NOMCLR      RESET BUTONU DEVREDE VAR...!!

//#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7,parity=N,stop=1)

#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#use fast_io(e)



unsigned int16 TELNET_PORT = 4747;
int ips[12] ={192, 168, 10, 111, 192, 168, 10, 1, 255, 255, 255, 0};


TCP_SOCKET g_MyTelnetSock;
int1 g_MyHttpSending = FALSE;
char g_MyHttpResponse[64];

unsigned int8 serverIP[4] = {192, 168, 10, 109};

//char serverIP[] = "192.168.10.109";
char url[] = "/cardcontrol.asp";


//*****************************

char headerText[] = "nAccept: *.*\r\nAccept-Language: tr-tr\r\nHost: 192.168.10.109\r\nAccept-Encoding: gzip\r\nConnection: Close\r\n\r\n";

//*****************************



void MyHttpSend(void)
{  char sip[];
   sprintf(sip,"%u.%u.%u.%u",serverIP[0],serverIP[1],serverIP[2],serverIP[3]);
   HttpClientSetHostName( sip);
   HttpClientSetUrl(  url);
   HttpClientSetCustomHeaders(  headerText);
   HttpClientSetHostPort(80);
   HttpClientSetResponseBuffer(g_MyHttpResponse,sizeof(g_MyHttpResponse));


   HttpClientStart();
}



denediğim yöntem;



char headerText[] ;
char headerText1[] = "nAccept: *.*\r\nAccept-Language: tr-tr\r\nHost: ";
char ip[] = "192.168.10.109";
char headerText2[] = "\r\nAccept-Encoding: gzip\r\nConnection: Close\r\n\r\n";

sprintf(headerText1,"%s",ip);
sprintf(headerText,"%s",headerText1);



bu şekilde çalıştıramadım. Nerede hata yapıyor olabilirim? Farklı bir komut var mı? ya da sprintf'i yanlış mı kullanıyorum?
Başlık: Ynt: string'in belli bir kısmını değiştirme
Gönderen: atomx - 20 Eylül 2016, 14:27:28
ip[0] = 1;
ip[1] = 9;
ip[2] = 2;
.
.
.
ip
Başlık: Ynt: string'in belli bir kısmını değiştirme
Gönderen: gokhangokcen - 20 Eylül 2016, 14:48:29
atomx hocam sıkıntı benim ip bloğunu birleştirmede değil
  HttpClientSetCustomHeadersROM((rom char*)"nAccept: *.*\r\nAccept-Language: tr-tr\r\nHost: 192.168.2.10\r\nAccept-Encoding:gzip\r\nConnection: Close\r\n\r\n");

burada yazan ip kısmını dışarıdan değiştirmek istiyorum. ve bunu eeproma yazıp kaydedip açılışta okutup işleme almak lazım.

mesaj birleştirme:: 20 Eylül 2016, 15:36:57


unsigned int8 serverIP[4] = {192, 168, 2, 10};

//char serverIP[] = "192.168.10.109";
char url[] = "/cardcontrol.asp";
char headerText[180];

char headerText1[150] = "nAccept: *.*\r\nAccept-Language: tr-tr\r\nHost: ";
char headerText2[20] = "192.168.2.10";
char headerText3[50]= "\r\nAccept-Encoding: gzip\r\nConnection: Close\r\n\r\n";

void MyHttpSend(void)
{  char sip[];
   strcat(headerText1,headerText2);
   strcat(headerText1,headerText3);
   puts(headerText1);

   sprintf(sip,"%u.%u.%u.%u",serverIP[0],serverIP[1],serverIP[2],serverIP[3]);
   HttpClientSetHostName( sip);
   HttpClientSetUrl(  url);
   HttpClientSetCustomHeaders(  headerText1);
   HttpClientSetHostPort(80);
   HttpClientSetResponseBuffer(g_MyHttpResponse,sizeof(g_MyHttpResponse));


   HttpClientStart();
}


sorunu bu şekilde hallettim arkadaşlar belki birilerinede faydası olur. STRCAT komutu varmış helpten bakınca buldum. İki stringi birbirine ekliyor. ilave ediyor buda benim işimi gördü.