一些程序代码备忘录!

 

可以生成手机号码的程序,并写入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;
}
 
小程序备忘录开发的源码,微信的react的特性使它很适合用来开发这种单机版简单交互的备忘录。在本示例中,初始时页面只有一个简简单单的欢迎词和文本框,当聚焦文本框开始输入文字,下方出现提交及重置按钮,默认开始时间为当前;点击时间可以重新选择,默认该项目到点前会进行提醒;也可以点绿色开关改成不需要提醒。   页面提交后,下面出现备忘录列表,每行后面有打钩图标用于切换该事项是否已完成、以及X按钮用以删除该事项;当该事项被设为已完成,会跟其他事项有颜色区分。   同时 下面出现一些操作功能,比如切换“显示全部” 以及 “只显示未完成事项”的功能,全部标为已完成、以及删除全部的按钮。   另外当列表存在数据时,下面还有一个按钮保存数据,将当前数据保存到缓存区域,用以下次打开时继续显示个人备忘录状态。   当时间到达有需要提醒的项目前一分钟,或者如果是需要立即开始的当前时间,界面会跳出项目内容,同时播放语音提醒。点击确定表示马上去完成该项目。此时系统会自动将该项目设置为已完成。   个人体会:每个页面的数据绑定(data)是小程序的核心部分,通过setData存入和花括号的读取实现了普通html静态页面没有做到的动态交互;不管是从当前页面提交的表单数据,还是从网络、json文件、api接口读取来的数据在这里交汇并被处理、使用。理解这一点,其他的具体组件/接口等等具体使用方法都是细枝末节了,可以通过查询文档练习掌握。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值