http://biancheng.dnbcw.info/c/452773.html
http://biancheng.dnbcw.info/c/452774.html
http://www.oschina.net/code/snippet_2325404_47570
http://blog.csdn.net/bg2bkk/article/details/37569555
1,分割字符串
char *strtok(char *str, const char *delim);
功能:分解字符串为一组字符串。str为要分解的字符串,delim为分隔符字符串。实质上的处理是,strtok在str中查找包含在delim中的字符并用NULL(’\0′)来替换,直到找遍整个字符串。
说明:首次调用时,str指向要分解的字符串,之后再次调用要把str设成NULL。strtok在str中查找包含在delim中的字符并用NULL(’\0′)来替换,直到找遍整个字符串。
返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
示例:
1. #include <stdio.h>
2. #include <string.h>
3.
4. int main(){
5. //id,姓名,语文,数学,英语
6. charstr[]="2,张三,89,99,66";
7. char*token=strtok(str,",");
8. while(token!=NULL){
9. printf("%s\t",token);
10. token=strtok(NULL,",");
11. }
12. printf("\n");
13. return 0;
14. }
示例程序输出:
1. 2 张三 89 99 66
说明:str参数必须设置为数组的形式,而不是字符串常量(如:char *str="2,张三,89,99,66";),因为strtok在执行过程中会对str进行修改,必须保证str是可写的。
2,分割字符串(还是分割字符串)
char *strsep(char **stringp, const char *delim);
1. #include <stdio.h>
2. #include <string.h>
3.
4. int main(){
5. //id,姓名,语文,数学,英语
6. charstr[]="2,张三,89,99,66";
7. //str是一个指针常量,而strsep的第一个参数需要一个指向指针的指针,所以不能对str做取地址操作,
8. //这里再定义一个指针变量就可以取地址操作了。否则会出现段错误。
9. char *strv=str;
10. char*token=strsep( &strv,",");
11. while(token!=NULL){
12. printf("%s\t",token);
13. token=strsep( &strv,",");
14. }
15. printf("\n");
16. return 0;
17. }
说明:此函数也会修改第一个参数的内容,所以必须保证提供的不是字符串常量。
相关资料:
Linux下C语言字符串操作之分割字符串来源网络,如有侵权请告知,即处理!
废话不多说,直接上代码:
1. #include <stdio.h>
3.
4. #define HOST "192.168.56.2"
5. #define DB "webdevtest"
6. #define USER "webdev"
7. #define PWD "webdev"
8. #define PORT 3306
9.
10. int main(){
11. MYSQL mysql;
12.
13. //连接之前得先初始化
14. mysql_init(&mysql);
15.
//连接mysql数据库
1. if(!mysql_real_connect(&mysql,HOST,USER,PWD,DB,PORT,NULL,0)){
2. printf("连接数据库发生错误!\n");
3. return-1;
4. }
5. printf("连接数据库成功!\n");
6.
7. //设置查询时的编码
8. mysql_query(&mysql,"setnames utf8");
9.
//执行查询语句
char *sql="select * from test_sell_records limit 20";
1. if(mysql_query(&mysql,sql)!=0){
2. printf("执行mysql语句发生错误!\n");
3. mysql_close(&mysql);
4. return-1;
5. }
6. //获取结果集
7. MYSQL_RES*result=mysql_store_result(&mysql);
8. unsigned inti,num_fields;
9. //获取字段数
10. num_fields=mysql_num_fields(result);
1. //循环打印出各行
2. MYSQL_ROW row;
3. while((row=mysql_fetch_row(result))!=NULL){
4. for(i=0;i<num_fields;i++){
5. printf("%s\t",row[i]);
6. }
7. printf("\n");
8. }
9.
10. //释放结果集
11. mysql_free_result(result);
12. //关闭连接
13.