如何制作一个小程序

如何制作一个小程序,第1张

微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。

2.点击打开程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。

下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。

3.微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。

源码如下:

//chat_one.c

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <stdio.h>

#include <string.h>

#include <errno.h>

#include <malloc.h>

#include <sys/select.h>

int main( int argc, char **argv)

{

struct sockaddr_in chatone, chattwo

char pmsg[1000]

char *buf

intchatone_fd

intret,i

intlen, msg_len

fd_set fdset

if ( argc <2 ){

printf("please input ip address\n")

return -1

}

printf("server address is %s\n", argv[1])

chattwo.sin_family = AF_INET

chattwo.sin_port = htons(60002)

inet_pton(AF_INET, argv[1], &chattwo.sin_addr.s_addr)

chatone.sin_family = AF_INET

chatone.sin_port = htons(60000)

chatone.sin_addr.s_addr = INADDR_ANY

chatone_fd = socket(PF_INET, SOCK_DGRAM, 0)

if ( -1 == chatone_fd ){

printf("create socket failed %s\n", strerror(errno))

return -1

}

ret = bind(chatone_fd, (struct sockaddr *)&chatone, sizeof(chatone))

if ( -1 == ret){

printf("bind failed %s \n", strerror(errno))

return -1

}

for(i=0i<1000i++){

FD_ZERO( &fdset )

FD_SET ( 0, &fdset)

FD_SET( chatone_fd, &fdset)

if ( -1 == select ( chatone_fd+1, &fdset, NULL, NULL, NULL) ){

continue

}

if ( FD_ISSET( chatone_fd, &fdset)){

recvfrom( chatone_fd, pmsg, 999, 0, NULL, 0)

printf("receive %s\n", pmsg)

}

else{

memset( pmsg, 0, 1000)

fgets(pmsg, 999, stdin)

len = sizeof(chattwo)

sendto( chatone_fd, pmsg, 1000, 0,\

(struct sockaddr*) &chattwo, len)

printf("send %s\n", pmsg)

}

}

printf("sent %d packets\n", i)

close(chatone_fd)

return 0

}

//chat_two.c

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <stdio.h>

#include <string.h>

#include <errno.h>

#include <malloc.h>

#include <sys/select.h>

int main( int argc, char **argv)

{

struct sockaddr_in chatone, chattwo

char pmsg[1000]

char *buf

intchattwo_fd

intret,i

intlen, msg_len

fd_set fdset

if ( argc <2 ){

printf("please input ip address\n")

return -1

}

printf("server address is %s\n", argv[1])

chattwo.sin_family = AF_INET

chattwo.sin_port = htons(60002)

chattwo.sin_addr.s_addr = INADDR_ANY

chatone.sin_family = AF_INET

chatone.sin_port = htons(60000)

inet_pton(AF_INET, argv[1], &chatone.sin_addr.s_addr)

chattwo_fd = socket(PF_INET, SOCK_DGRAM, 0)

if ( -1 == chattwo_fd ){

printf("create socket failed %s\n", strerror(errno))

return -1

}

ret = bind(chattwo_fd, (struct sockaddr *)&chattwo, sizeof(chattwo))

if ( -1 == ret){

printf("bind failed %s \n", strerror(errno))

return -1

}

for(i=0i<1000i++){

FD_ZERO( &fdset )

FD_SET ( 0, &fdset)

FD_SET( chattwo_fd, &fdset)

if ( -1 == select ( chattwo_fd+1, &fdset, NULL, NULL, NULL) ){

continue

}

if ( FD_ISSET( chattwo_fd, &fdset)){

recvfrom( chattwo_fd, pmsg, 999, 0, NULL, 0)

printf("receive: %s\n", pmsg)

}

else{

memset( pmsg, 0, 1000)

fgets(pmsg, 999, stdin)

len = sizeof(chatone)

sendto( chattwo_fd, pmsg, 1000, 0,\

(struct sockaddr*) &chatone, len)

printf("send %s\n", pmsg)

}

}

printf("sent %d packets\n", i)

close(chattwo_fd)

return 0

}

编译好这个两个程序就可以进行简单的通信了。

#include <stdio.h>

#include <stdlib.h>int main(int argc,char* argv[])

{

int i

char dst[128],*pstr = argv[1]

for(i=0*pstri++)

dst[i] = toupper(*pstr++)

dst[i] = '\0'

printf("%s\n",dst)

return 0

}程序主体刚好7行。toupper是系统自带的库函数,用于实现把字母小写变大写;tolower是大写变小写。toupper的函数可以这样实现:Int toupper(int c){if( c >= 'a' &&c <= 'z' ) c -= ('a'-'A') return c}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7629275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存