DSSM数据管理项目点滴

来源:互联网 发布:网络抓壮丁是什么意思 编辑:程序博客网 时间:2024/04/18 08:05

1.操作mysql数据库

    MYSQL     mysql;
    MYSQL_RES *result;
    MYSQL_ROW record;
    char      query[1024];

 

    if ( !(mysql_init(&mysql)) ){
        printf("mysql_init():failed");
        return 1;
    }

 
    if ( mysql_real_connect(&mysql, DB_DBHOST, DB_DBUSER, DB_DBPWD, DB_DBNAME, DB_DBPORT,NULL,0) == NULL ){
        printf("conncet errror!/n");
        return 1;
    }

 

   bzero(query,  sizeof(query) );

   strcpy(query,"select * from trace");
   mysql_real_query( &mysql, query, strlen(query) );
   result = mysql_store_result( &mysql );

 

   while( (record = mysql_fetch_row(result)) )

   {

          int id = atoi(record[1]);

          char temp[10];

          strcpy(temp, record[2]);

   }

 

2 根据年月日得到是星期几

//具体原理是根据 蔡勒公式 不过只能算1582年以后

int getWeek(int y, int m, int d)//y为年,m为月,d为日
{
    int c  = y / 100;
    int yy = y % 100;
    int mm;
    if (m == 1 || m == 2)
    {
        mm  = m + 12;
        yy -= 1;
    }
    else
        mm = m;

    return  ( yy + yy/4+ c/4 - 2*c + 26*(mm+1)/10 + d-1 ) % 7;
}

 

3 常用的几个函数

   printf;//打印

   fprintf();//按某个格式,将数据输出到指定的文件中去。如frpintf(fp, "%c", 5);

   sprintf(char *str, char * format,...);//根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组中去。直到出现'/0'为止。

    snprintf(char *str, size_t size, const char * format,...);

   //同上,不过结束条件为遇到'/0'或者达到参数size指定的大小为止。成功返回参数str字符串大小,失败返回-1

 

   char *strcpy(char *dest, char *src);

   char *strncpy(char *dest, const char *src, size_t n);

   bzero(void *s, int n);//参数s所指内存区域的前n个字节,全部设为0

   atoi();//字符串转为整形数。

 

 

4 在程序中执行linux命令

 char cmd[100] = "ls -l > a.txt";

 system(cmd);//用system函数来执行

 

5 关于段错误

   一般都是指针引起,内存操作出了问题。未初始化,越界等等