Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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(&reg, pattern, cflags); //Èç¹û±àÒë³É¹¦·µ»Ø0,ÆäËü·µ»ØËµÃ÷ÓдíÎó²úÉú
      if (z != 0)
      {
             regerror(z, &reg, 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(&reg, lbuf, nmatch, pm, 0);
           if (z == REG_NOMATCH) continue;
 &nbs


Ïà¹ØÎĵµ£º

ÔÚlinuxÏÂʵÏÖweb qqµÄ×ÀÃæ»¯


´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ­°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......

¼òµ¥½²½âһЩlinuxµÄС֪ʶ°É

ÏÖÔÚ´ó¼Ò¶ÔQ5µÄÌÖÂÛÒѾ­ÉÏÉýµ½·¢ÐаæºÍ×ÀÃæ»·¾³µÄ³Ì¶ÈÁË……¹À¼ÆÌ³×ÓÀïÓÐÐí¶à·ÇLINUXÍæ¼Ò¿ÉÄÜÌýµÃÔÆÀïÎíÀï°É£¿ÎÒ´ó¸Å½²Ò»Ð©ÎÒÖªµÀµÄ£¬±È½Ï¼òµ¥¶øÇÒʵÓõÄС֪ʶ£¬Ï£ÍûÄܹ»Í¬Ñ§ÃÇÒ»µã°ïÖú¡£
°´ÕÕ¹ßÀý£¬Ê×ÏȱØÐë³ÎÇåÒ»ÏÂLinuxµÄ¶¨Òå¡£ºÜ¶àͬѧ¿ÉÄܶ¼ÎóÒÔΪLinux¾ÍÊÇÒ»¸ö²Ù×÷ϵͳ£¬ÑϸñÀ´½²£¬ÕâÊDz»¶ÔµÄ¡£linux×÷ ......

linux cÓïÑÔ selectº¯ÊýÓ÷¨

  SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇϰ¹ßдÖîÈç connect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ
´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ» ......

LINUXÔÚ¶àºË»·¾³Ï£¬Èç¹û¿ØÖÆÊ¹ÓõÄCPUÊýÄ¿

½øÈë/boot/grub
ÐÞ¸Ägrub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, ......

SQLiteÓëC½áºÏ

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 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ