已經三年囉! 今天開始進入第四年,要活得好好的喔!
2012年3月22日 星期四
2012年3月20日 星期二
[321程式] C版的explode() 函式–explode() in C
/*
* explode function like in PHP (realloc version)
* completed in 2012/3/21
* since 2012/3/21
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char **explode(const char
*del, const char
*src, int *size);
int main(int
argc, char *argv[]) {
char
*str = "We will we will
rock you!";
char
**new_str;
int i, len;
printf("The original str:
%s\n", str);
new_str = explode("* ", str, &len);
printf("The length: %d\n",
len);
printf("After explode:\n");
for(i
= 0; i < len; i++){
printf("%s\n", new_str[i]);
}
system("pause");
return
0;
}
char **explode(const char
*del, const char
*src, int *size) {
int i = 0;
int idx_del;
int idx_src = 0;
int num_token = 0;
int last_pos = 0;
char
**des = NULL;
// get the token and doing explode
while(*(src+idx_src) != '\0') {
idx_del = 0;
while(*(del+idx_del) != '\0') {
if(*(src+idx_src) == *(del+idx_del)){
// increase the num of token
num_token++;
// re-allocate the space for 'des'
des = (char**)realloc(des, (num_token)*sizeof(char*));
// allocate in real time for the new string
des[i] = (char*)malloc((idx_src-last_pos+1)*sizeof(char));
// put the 'end of string' in the last item
des[i][idx_src-last_pos]
= '\0';
// copy the specific section to be the new string
strncpy(des[i++], src+last_pos, idx_src-last_pos);
// record the position for the next new string
last_pos = idx_src+1;
// exit the current loop
break;
}
idx_del++;
}
idx_src++;
}
num_token += 1;
// assign the num of token to
the variable from outside
*size
= num_token;
// don't forget the last one if there is
des[num_token-1] = (char*)malloc((idx_src-last_pos+1)*sizeof(char));
des[num_token-1][idx_src-last_pos]
= '\0';
strncpy(des[num_token-1],
src+last_pos, idx_src-last_pos);
return
des;
}
2021年11月 6N6P真空管耳擴
今年某月看到下面這位大大的貼文就想造出來一台真空管耳擴。 OTL WCF headphone amp build + awesome prototype material 從規劃製作、蒐集元件到動手製作前前後後大約花了三個月吧! 真正動手組裝大概是11月初的事情,短短一兩的禮...
-
一箱裝著小時候記憶的寶盒,知道開蓋上面貼的是什麼嗎? … … … … … … 沒錯! 就是這張! 這是打開後裡面的樣子,很多寶也很多垃圾。 其中左上角的那張紙是最令人回味的! 尤其那個黃藍的海綿胎! 其實我已經買了那樣的海綿胎,只是買完之後才發現就是那個黃...
-
詩篇127篇 1.若不是耶和華建造房屋,建造的人就枉然勞力;若不是耶和華看守城池,看守的人就枉然儆醒。 2.你們清晨早起夜晚安歇,吃勞碌得來的飯,本是枉然。惟有耶和華所親愛的,必叫他安然睡覺。 3.兒女是耶和華所賜的產業,所懷的胎是祂所給的賞賜。 4.少年時所生的兒女,好像勇士...