posted @ 2011-09-27 16:23 xsong 閱讀(1310) | 評論 (0) | 編輯 收藏
posted @ 2011-09-23 13:55 xsong 閱讀(344) | 評論 (0) | 編輯 收藏
int main(int argc, char **argv) {
/**
* sizeof 關(guān)鍵字
*/
int i=0;
printf("sizeof int %lu \n",sizeof(i)); // 4
int *p=NULL;
printf("sizeof point %lu \n" ,sizeof(p) ) ; // 8
printf("sizeof *p %lu \n",sizeof *p); // 4
int a[100];
printf("sizeof array %lu \n", sizeof(a));// 100*4
printf("sizeof a[100] %lu \n",sizeof(a[100])); // 4
printf("sizeof &a %lu \n", sizeof(&a)); // 8 &a 是指針
return 0;
}
posted @ 2011-09-16 15:04 xsong 閱讀(230) | 評論 (0) | 編輯 收藏
#include <stdlib.h>
#include <event.h>
#include <evhttp.h>
void generic_request_handler(struct evhttp_request *req, void *arg) {
struct evbuffer *return_buffer=evbuffer_new();
evbuffer_add_printf(return_buffer,"welcome

evhttp_send_reply(req,HTTP_OK,"Client",return_buffer );
evbuffer_free(return_buffer);
}
int main(int argc, char **argv) {
short http_port =8082;
char *http_addr="127.0.0.1";
struct evhttp *http_serv=NULL;
event_init();
http_serv= evhttp_start(http_addr,http_port);
evhttp_set_gencb(http_serv,generic_request_handler,NULL);
event_dispatch();
return 0;
}
posted @ 2011-08-05 14:51 xsong 閱讀(1355) | 評論 (0) | 編輯 收藏
// Special type of class
enum Status {
Flunk(50), Pass(70), Excel(90);
private final int value;
Status(int value) { this.value = value; }
public int value() { return value; }
};
Action a = Action.Stop;
if (a != Action.Start)
System.out.println(a); // Prints "Stop"
Status s = Status.Pass;
System.out.println(s.value()); // Prints "70"
posted @ 2011-08-01 16:20 xsong 閱讀(220) | 評論 (0) | 編輯 收藏
syntax on
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set cindent
set nu
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
let g:neocomplcache_enable_at_startup = 1
"括號補(bǔ)全功能,
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair('>')<CR>
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
posted @ 2011-06-11 12:58 xsong 閱讀(741) | 評論 (0) | 編輯 收藏
但是如果轉(zhuǎn)化 "123ss"等字符串里包含非數(shù)值的字符串時,則會自動轉(zhuǎn)化為 123,不會拋出異常。
想要驗(yàn)證 字符串是否是數(shù)值格式 可使用
char *str2="123sss",*endptr2;
printf("atoi str2 is %i\n",atoi(str1));
int i,j;//atoi(str);
i=strtol(str1,&endptr1,10);
if(*endptr1!=NULL){
printf("endptr1 is %s\n",endptr1);
}
printf("str1 auto int %i\n",i);
j=strtol(str2,&endptr2,10);
if(*endptr2!=NULL){
printf("endptr2 is %s\n",endptr2);
}
printf("str2 auto long int %i\n",j);
posted @ 2011-05-30 15:13 xsong 閱讀(596) | 評論 (0) | 編輯 收藏
export LD_PRELOAD=/usr/lib/libc/memcpy-preload.so(不行就改為export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libc/memcpy-preload.so)加入文件的第一行就可以了
posted @ 2011-05-26 13:37 xsong 閱讀(481) | 評論 (0) | 編輯 收藏
============================================================================
Name : test.c
Author : xsong
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main(void) {
char buffer[] = "buffer example";
// memset 填充字符串
printf("buffer size %i \n", sizeof(buffer));
printf("before memsetd -> %s \n", buffer);
int mpoint = memset(buffer, '*', sizeof(buffer));
printf("memset return point -> %i \n", mpoint);
printf("after memsetd -> %s \n", buffer);
//strlen 取得字符串長度
int buffer_length = strlen(buffer);
printf("buffer size -> %i \n", buffer_length);
//字符串連接
char d[10] = "foo";
char s[10] = "bar";
strcat(d, s);
printf("%s %s\n", d, s);
//字符串分割
char str[] = "root:x::0:root:/root:/bin/bash:";
char *token;
token = strtok(str, ":");
do {
printf("%s \n", token);
} while ((token = strtok(NULL, ":")) != NULL);
return EXIT_SUCCESS;
}
posted @ 2011-05-18 15:38 xsong 閱讀(267) | 評論 (0) | 編輯 收藏