可以生成手机号码的程序,并写入Txt文件.
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
FILE *pFile;
pFile=fopen("phone.txt","a");
char buf[128];
memset(buf,0,sizeof(buf));
srand( GetTickCount());
int number;
cout <<"请输入需要手机号码的数量:";
cin >> number; char num[128];
memset(num,0,sizeof(num));
int temp;
cout <<"请输入需要手机号码的开头:";
cin>>temp; itoa(temp,num,10);
for(int i=0;i<number;i++)
{
fwrite(num,1,strlen(num),pFile);
for(int x =3;x <=10;x++)
{
itoa(rand()%10,buf,10);
fwrite(buf,1,strlen(buf),pFile);
}
fwrite(" ",1,1,pFile);
fflush(pFile);
}
cout <<"号码生成完毕!"<<endl;
getchar();
return 0;
}
一个服务器带日志的程序代码:
#include <stdio.h>
#include <string.h>
#include <time.h>
int main()
{
FILE *pFile;
char timebuf[128];
char Fnamebuf[128];
memset(Fnamebuf,0,sizeof(Fnamebuf));
memset(timebuf,0,sizeof(timebuf));
time_t stime; time(&stime);
struct tm *today;
char buf[128];
memset(buf,0,sizeof(buf));
today = localtime(&stime);
strftime(buf,sizeof(buf),"%Y-%m-%d",today);
strcat(buf,".log");
pFile=fopen(buf,"a");
strftime(buf,sizeof(buf),"%Y-%m-%d %H:%M:%S",today);
strcat(buf," 服务器启动 /n");
fwrite(buf,1,strlen(buf),pFile);
fflush(pFile);
fclose(pFile);
return 0;
}
select模型 + udp 服务端
#include <iostream>
#include <stdio.h>
#include <Winsock2.h>
using namespace std;
SOCKET m_serversocket;
char buf[256]; //选择套接字版本
void Loadsocket()
{
WORD wVersionRequested;
WSADATA wsaData;
int err; //请求winsock版本(1,1)
wVersionRequested = MAKEWORD(1,1);
err = WSAStartup(wVersionRequested,&wsaData);
if(err != 0 )
{
return;
}
//检查,调用winsock版本号,如果不是则取消
if(LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1)
{
WSACleanup();
return;
}
}
//接受数据
void RecvData()
{
//设置select等待时间值
struct timeval timeout;
timeout.tv_sec = 5;
timeout.tv_usec=0;
//服务轮询
while(1)
{
fd_set fdsocket;
FD_ZERO(&fdsocket);
FD_SET(m_serversocket,&fdsocket);
if(select(NULL,&fdsocket,NULL,NULL,(timeval *)&timeout)) //等待事件到来
{
if(FD_ISSET(m_serversocket,&fdsocket)) //事件可以读
{
sockaddr_in sockclient;
int len = sizeof(sockclient);
//接受数据
recvfrom(m_serversocket,buf,sizeof(buf),0,(sockaddr*)&sockclient,&len);
printf("%s:%s ",inet_ntoa(sockclient.sin_addr),buf);
}
}
}
}
int main()
{
//选择socket库版本
Loadsocket();
//选择协议
m_serversocket=socket(AF_INET,SOCK_DGRAM,0);
//对套接字初始化
sockaddr_in socksrv;
socksrv.sin_family=AF_INET;
socksrv.sin_port=htons(5800);
socksrv.sin_addr.S_un.S_addr=INADDR_ANY;
//绑定地址到套接字
bind(m_serversocket,(SOCKADDR *)&socksrv,sizeof(socksrv));
//接受数据
RecvData();
return 0;
}
08.6.10 windows 类成员线程
#include <iostream>
#include <windows.h>
using namespace std;
class A
{
public:
static unsigned long _stdcall Thread(void *param);
bool StartThread();
};
//类的线程函数
unsigned long _stdcall A::Thread(void *param)
{
printf("taskmain start!/n");
return true;
}
bool A::StartThread()
{
printf("StartTask start!/n");
CreateThread(NULL,0,Thread,NULL,0,NULL);
Sleep(1);
return 0;
}
int main()
{
A a;
a.StartThread();
return 0;
}
/Linux 类成员线程函数 ///08.06.10/// #include #include using namespace std; class A { public: void StartThread(); static void *Thread(void *param); }; void A::StartThread() { printf("startThread!"); pthread_t tid; int err; err = pthread_create(&tid,NULL,Thread,NULL); sleep(2); } void *A::Thread(void *param) { printf("Thread!/n"); } int main() { A a; a.StartThread(); return 0; }