linux CÕýÔò±í´ïʽ
ÔÚÍøÉÏÕÒµ½µÄÒ»¸ö³ÌÐò
[c]
#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
/* È¡×Ó´®µÄº¯Êý */
static char* substr(const char*str,unsigned start, unsigned end)
{
unsigned n = end - start;
static char stbuf[256];
strncpy(stbuf, str + start, n);
stbuf[n] = 0;
return stbuf;
}
/* Ö÷³ÌÐò */
int main(int argc, char** argv)
{
char * pattern;
int x, z, lno = 0, cflags = 0;
char ebuf[128], lbuf[256];
regex_t reg;
regmatch_t pm[10];
const size_t nmatch = 10;
/* ±àÒëÕýÔò±í´ïʽ*/
pattern = argv[1]; //»ñÈ¡ÕýÔò±í´ïʽ
z = regcomp(®, pattern, cflags); //Èç¹û±àÒë³É¹¦·µ»Ø0,ÆäËü·µ»ØËµÃ÷ÓдíÎó²úÉú
if (z != 0)
{
regerror(z, ®, ebuf, sizeof(ebuf));
fprintf(stderr, "%s: pattern '%s' \n",ebuf, pattern);
return 1;
}
/* ÖðÐд¦ÀíÊäÈëµÄÊý¾Ý */
while(fgets(lbuf, sizeof(lbuf), stdin))
{
++lno;
//È¡µÃ¶ÁÈ¡×Ö·û´®µÄ³¤¶È£¬²¢ÅжÏ×Ö·û´®½áβ×Ö·ûÊÇ·ñΪ»Ø³µ·û'\n'¡£Èç¹ûÊÇ£¬½«½áβ×Ö·û¸ÄΪ0
if ((z = strlen(lbuf)) > 0 && lbuf[z-1]== '\n')
lbuf[z - 1] = 0;
/* ¶ÔÿһÐÐÓ¦ÓÃÕýÔò±í´ïʽ½øÐÐÆ¥Åä */
z = regexec(®, lbuf, nmatch, pm, 0);
if (z == REG_NOMATCH) continue;
&nbs
Ïà¹ØÎĵµ£º
°ÑUÅ̳̿ɹâÅÌ£¨ÒÔubuntu9.10ΪÀý£©
ǰÌ᣺µçÄÔÖ§³ÖUÅÌÆô¶¯£¬ÓÐЩµçÄÔÊDz»Ö§³ÖµÄ¡£
¿ªÊ¼ÖÆ×÷
Ò»¡¢²ÄÁÏ£º
UltraISO£¨Èíµúͨ£©Èí¼þ
ubuntu 9.10 iso
uÅÌ£¨ÍƼö1GÒÔÉÏ£©¡£
¶þ¡¢²Ù×÷ƽ̨£º
windows xp/vista £ÛÎÒÊÇÔÚvistaÏÂÖÆ×÷µÄ£¬±ØÐëÓùÜÀíԱȨÏÞ´ò¿ªUltraISO£¨Èíµúͨ£©£Ý£¨ÓÒ»÷Æä¿ì½Ý·½Ê½£¬ÒÔ¹ÜÀíÔ±Éí·Ö´ò¿ª£©
˵ ......
LinuxϽâѹÃüÁî´óÈ«
LinuxϽâѹÃüÁî´óÈ«
.tar
½âѹ:tar xvf filename.tar
´ò°ü:tar cvf filename.tar dirname
.gz
½âѹ:gzip -d filename.gz / gunzip filename.gz
ѹËõ:gzip filename
.tar.gz/.tgz
½âѹ:tar zxvf  ......
SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇϰ¹ßдÖîÈç connect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ
´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ» ......
1.×Ö·ûÉ豸Óë¿éÉ豸IO²Ù×öµÄÇø±ð
1)¿éÉ豸ֻÄÜÒÔ¿éΪµ¥Î»½ÓÊÕÊäÈë·µ»ØÊä³ö,¶ø×Ö·ûÉ豸ÔòÒÔbyteΪµ¥Î».´ó¶àÊýÉ豸ÊÇ×Ö·ûÉ豸,ËûÃDz»ÐèÒª»º³å²¢ÇÒ²»ÒԹ̶¨¿é´óС½øÐвÙ×÷.
2)¿éÉ豸¶ÔÓÚIOÇëÇóÓжÔÓ¦µÄ»º³åÇø,ËùÒÔËûÃÇ¿ÉÒÔÑ¡ÔñÒÔʲô˳Ðò½øÐÐÏìÓ¦.×Ö·ûÉ豸ÎÞÐ뻺³åÇÒ±»Ö±½Ó¶Áд.
3)×Ö·ûÉ豸ֻÄܱ»Ë³Ðò¶Áд, ......
SQLite¹Ù·½ÍøÕ¾Àý×Ó£º
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
i ......