📄 send_single.cpp
字号:
//从文件中读取号码和内容,按条发送,插入COM_SEND表中//发送格式:./send_single 发送号码文件名 发送内容文件名 扣费代码 费率(按条收费,SEND表)#include <stdio.h>#include <string.h>#include <time.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include "../include/define.h"#include "../include/CMPPAPI.hpp"#include "mysql/mysql.h"#include "../include/sm_tools.h"#include "../include/sm_db.h"#define INIFILE "../config/sm.ini"char db_host[100],db_user[100],db_passwd[100],db_dbname[100];MYSQL *myconn;static int InitPara(){ myconn = NULL; GetProfileString(INIFILE,"DB_LOCAL","HOST","localhost",db_host); GetProfileString(INIFILE,"DB_LOCAL","LOGNAME","root",db_user); GetProfileString(INIFILE,"DB_LOCAL","LOGPASS","",db_passwd); GetProfileString(INIFILE,"DB_LOCAL","DBNAME","NW_SM",db_dbname); return 0;}int main(int argc,char *argv[]){ char *day; char filename[100],file_nr[100],sql[500]; char dcode[10]; char msisdn[30]; char context[1000]; FILE *fp; int len,i,retval; MYSQL_ROW row; MYSQL_RES *res = NULL;; float fee; i=0; SEND_STRUC sendstruc; InitPara(); puts(db_dbname); if(argc<5) { printf("格式:%s 发送号码文件名 发送内容文件名 扣费代码 费率(按条收费,SEND表)\n",argv[0]); return 0; } else { strcpy(filename,argv[1]); strcpy(file_nr,argv[2]); strcpy(dcode,argv[3]); fee=atof(argv[4]); printf("the dcode is :%s, fee is :%f\n",dcode,fee); } fp = fopen(file_nr,"rb"); if(fp == NULL) { puts("打开发送内容文件失败!"); return 0; } len = fread(context,1,999,fp); context[len] = '\0'; checksql(context); printf("content len:%d\n",len); fclose(fp); if(len>500) { puts("你的发送内容已超过500个字节,请查实后再发"); return 0; } memset(&sendstruc,0,sizeof(sendstruc)); sendstruc.nNeedReply = NEED_REPLY_NO; sendstruc.nMsgLevel = 5; strcpy(sendstruc.sServiceID,dcode); sendstruc.nMsgFormat = MSG_FORMAT_ASCII; strcpy(sendstruc.sFeeType,"02"); sendstruc.sFeeCode = fee; strcpy(sendstruc.sValidTime,""); strcpy(sendstruc.sAtTime,""); strcpy(sendstruc.sSrcTermID,"8566"); sendstruc.cFeeUserType=0; strcpy(sendstruc.sFeeTerminalID,""); sendstruc.cTpPid = 0; sendstruc.cTpUdhi = 0; strcpy(sendstruc.step,"0"); day = getnowdate(sendstruc.Send_Date); strcpy(sendstruc.sMsgContent,context); fp = fopen(filename,"r"); if(fp == NULL) { puts("open file error!"); return 0; } myconn = dbconnect(db_host,db_user,db_passwd,db_dbname); if(myconn == NULL) { puts("连接数据库失败,请查看日志文件!"); return 0; } while(fgets(msisdn,30,fp)!=NULL) { msisdn[11] = '\0'; if (strncmp(msisdn,"13",2)!=0 || strlen(msisdn)!=11) { continue; } //查询用户是否是黑名单用户 strcpy(sendstruc.sDesTermID,msisdn); SendMsg(&sendstruc,&myconn); strcpy(msisdn,""); i++; } fclose(fp); printf("you have send %d records.\n",i); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -