最近寫的程式要用到base64_encode,網上一搜「c語言 base64」出來一堆**,但是我向來是不憚以最壞的惡意來推測這些**的。於是看了一下php原始碼,base64_encode函式定義在ext\standard\base64.c檔案中。我把它改寫了一下,需要注意記憶體是動態分配的,使用完之後記得free掉,否則會造成記憶體洩露。
unsigned char *base64_encode(const unsigned char *str); static const char base64_pad = '=';
const unsigned char *current = str;
int length = strlen(str);
unsigned char *p;
unsigned char *result;
if ((length + 2) < 0 || ((length + 2) / 3) >= (1
<< (sizeof(int) * 8 - 2)))
result = (unsigned char *)malloc(((length + 2) / 3) * 4 * sizeof(char) + 1);
p = result;
while (length > 2)
if (length != 0) else
}*p = '\0';
return result;
}
用C語言實現FlappyBird
在開始遊戲之前,我們先了解一些輔助函式 void gotoxy int x,int y 將游標調整到 x,y 的位置 void hidecursor 隱藏游標 setconsolecursorinfo getstdhandle std output handle cursor info 我們使用乙個...
用c語言實現的FFT
一 對fft的介紹 1.fft fast fourier transformation 即為快速傅利葉變換,是離散傅利葉變換的快速演算法,它是根據離散傅利葉變換的奇 偶 虛 實等特性,對離散傅利葉變換的演算法進行改進獲得的。2.fft演算法的基本原理 fft演算法是把長序列的dft逐次分解為較短序列...
Base64 編譯碼C語言實現
本文繼續前文 http blog.csdn.net hegch archive 2009 05 01 4141125.aspx 前文講述了如何實現base64的編碼,本文給出解碼的 這裡給出的 是整個完整的編碼和解碼,將加密之後的串解密得到原來的字串。具體 如下 這裡新增了兩個方法find pos和...