你的位置:首页 > 软件开发 > 数据库 > 使用MySQL数据库将汉字转换成拼音的一个C语言小程序

使用MySQL数据库将汉字转换成拼音的一个C语言小程序

发布时间:2016-05-23 18:00:07
环境:mysql:mysql-5.1.65centos:centos 6.5编译命令:gcc -o chinesetopinyin chinesetopinyin.c -L/usr/lib/mysql -lmysqlclient -I/usr/include/mysql源代码: ...

环境:

mysql:mysql-5.1.65

centos:centos 6.5

编译命令:

gcc -o chinesetopinyin chinesetopinyin.c -L/usr/lib/mysql -lmysqlclient -I/usr/include/mysql

源代码:

 1 #include <mysql/mysql.h> 2 #include <stdio.h> 3 #include <string.h> 4  5 void ChineseToPinyin(char *pChinese, char *pPinyin) 6 { 7   MYSQL pMysql; 8   MYSQL_RES *pRes; 9   MYSQL_ROW Row;10   char rgQuery[1024];11   char rgQueryTemp[1024];12   int iRet;13   unsigned int i = 0;14   15   sprintf(rgQueryTemp, "select pinyin from chinese_to_pinyin where chinese='%s'", pChinese);16   strcpy(rgQuery, rgQueryTemp);17 18   mysql_init(&pMysql);19   if (!mysql_real_connect(&pMysql, "localhost", "root", "password", "user", 0, NULL, 0))20   {21     printf("Error connecting to database:%s\n", mysql_error(&pMysql));22   }23   24   iRet = mysql_query(&pMysql, rgQuery);25   if (iRet)26   {27     printf("error making rgQuery:%s\n", mysql_error(&pMysql));28   }29   else 30   {31     pRes = mysql_store_result(&pMysql);32     if (pRes)33     {34       if (mysql_num_rows(pRes))35       {36         while ((Row = mysql_fetch_row(pRes)))37         {38           for (i = 0; i < mysql_num_fields(pRes); i++)39           {40             strcpy(pPinyin, (Row[i] != NULL) ? Row[i] : pChinese);41           }42         }        43       }44       else45       {46         strcpy(pPinyin, pChinese);47       }      48     }49 50     mysql_free_result(pRes);51   }52 53   mysql_close(&pMysql);  54 }55 56 int main(int argc, char *argv[])57 {58   char rgChinese[1024];59   char rgPinyin[1024];60   int i;61   int iLength = 0;62   63   if (argc <= 1)64   {65     printf("too little argument!\n");66   }67 68   iLength = strlen(argv[1]);69   printf("iLength = %d\n", iLength);70   71   for (i = 0; i < iLength; i = i + 3)72   {73     char rgPinyinTemp[512];74     strcpy(&rgChinese[0], &argv[1][i]);75     strcpy(&rgChinese[1], &argv[1][i + 1]);76     strcpy(&rgChinese[2], &argv[1][i + 2]);77     rgChinese[3] = '\0';78     printf("rgChinese = %s\n", rgChinese);79     ChineseToPinyin(rgChinese, rgPinyinTemp);80     strcat(rgPinyin, rgPinyinTemp);81     rgPinyinTemp[0] = '\0';82     rgChinese[0] = '\0';83   }84   85   printf("%s:%s\n", argv[1], rgPinyin);86 87   return 0;88 }

原标题:使用MySQL数据库将汉字转换成拼音的一个C语言小程序

关键词:MYSQL

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。