⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 send_single.cpp

📁 SP平台联通短信群发程序
💻 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 + -