Fekky Reviant

starting with a doubt then ending with a choice …..

string processing in c part ke satu

hei all ma fellow admirer
ini aq baru aja bikin kode buat ngeparsing kode di dalam kode yg tlah ditentukan(^), dimana kalo kata orang bule, string processing pake bhs C emang “pain in the ass baneddhh”, dan aq juga turut setuju akan hal tsb kok , hha..

ni kode na, mamam dahh :


#include <stdio.h>

int get_val(char *txt,int ke)
{
    char *tmp = txt;
    char tmp_inside[100] = {0};
    int i_start = 0;
    int i_end = 0;
    int i = 0,j = 0, z = 0;
    int i_ke = 0;
    while(*tmp)
    {
	
	if(ke == i_ke)
	{
        	for(j = i_start + 1; j<= i_end - 1; j++)
	        {
	                tmp_inside[z] = txt[j];
	                z++;
	        }
	        tmp_inside[z] = '\0';
		break;
		
	}

	
     	if(*tmp == '^')
       	{
		if(!i_start)
		{
			i_start=i;
			
		}
		else if(i_end)
		{
			i_start=i;
			i_end=0;		
		}
		else
		{
			i_end=i;
			i_ke += 1;
		}
	}

	i++;
	tmp++;
    }

	
    return atoi(tmp_inside);
}

int itung(char *txt)
{
    char *tmp = txt;
    int i = 0;
    while(*tmp)
    {
        if(*tmp == '^')
        {i++;}
	tmp++;
    }    
    
    return i/2;    
}

int main()
{

char u[] = "sds^23423123^makana^100^pahhh^88^sds";

printf("hurup : %s\n",u);
printf("ada : %d biji argument\n",itung(u));
printf("get val ke 1 : %d\n",get_val(u,1));
printf("get val ke 2 : %d\n",get_val(u,2));
printf("get val ke 3 : %d\n",get_val(u,3));

return 0;

}

anyway aq tau dan aq sadar pas di kompile nanti akan keluar warning implicit apa gt, itu terjadi karna aq gag masukin praprosesor buat atoi(); karena aq gag lupaa atau mungkin gag tau -_-’ (keseringan auto add pas make IDE, jadina gag meratiin lg dah , hha..) , namun slama si compiler ujung2na ngehasilin output ELF juja, ya aq gag ambil pusing, hha…
gt ja dulu all of ma admirer, smoga ade gunanye yeee… mwahhh..

3 Responses to string processing in c part ke satu

  1. Fekky Reviant June 3, 2011 at 4:51 pm

    oo ia mumpung aq lagi ingedd, mo kaci tau aja, segmentation fault na si atoi() itu, ngepedd banedth… soalna pas di backtrace keluarna cm info macem gini ja :

    Program received signal SIGSEGV, Segmentation fault.
    0xb7e99cac in ?? () from /lib/libc.so.6
    (gdb) bt
    #0 0xb7e99cac in ?? () from /lib/libc.so.6
    #1 0xb7e99a17 in strtol () from /lib/libc.so.6
    #2 0×00000000 in ?? ()
    (gdb)

    kan gmn gag kek taiii banedth tuu, apalagi buad qm2 yg ugy koding di multithreading, beee elahh, pasti langsung keder awal2na, untung aq orang’a baik hati, jadi ngasi teuin qm biar klo lg nge-backtrace trus nemu error kek gini “doangggg”, satu2na fungsi yg “patut” dikambing itemkan ya cm fungsi atoi() na libc itu, hha.. ati2 eaaaa…

  2. unamedplayer July 25, 2011 at 8:13 am

    mantap boz,, tapi bahasa lo alay bin ababil bangeudh dech… wkwkwk

  3. Fekky Reviant July 29, 2011 at 7:06 pm

    ahh cuma sampoo kok >.<

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.