第五章 编可移植的代.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编写可移植的代码 —命令行参数处理 1 /* 2 * main.c 4 * Win32 getopt example 5 */ 7 #include stdio.h 8 #include getopt.h 10 int main(int argc, char *argv[]) 12 { 13 char *test = NULL; 14 char ch = 0; 15 int flag = 0; 17 opterr = 0; 18 while((ch = getopt(argc, argv, t:f)) != -1) 19 { 20 switch(ch) 21 { 22 case t: 24 test = optarg; 25 break; 27 case f: 29 flag = 1; 30 break; 32 default: 34 printf(unknown option.\r\n); 35 return(1); 36 } 37 } 39 if(test == NULL) 40 { 41 printf(no value supplied for test.\r\n); 42 return(1); 43 } 45 printf(test: %s , flag: %d\r\n, test, flag); 47 return(0); 48 } 鼓索饿淑佩评壳庶遥加疲熏瞒易编坟菠掌系狙攀它量焚释贤沦降耪路波恬第五章 编写可移植的代码第五章 编写可移植的代码 可移植的网络编程 —BSD套接字和Winsock 1 /* 2 * winsock1.c 5 */ 7 #ifdef WIN32 9 #pragma comment(lib, ws2_32.lib) /* required for winsock */ 11 #include winsock2.h 13 #else 15 /* UNIX-specific header files includes */ 17 #endif 18 19 #include stdio.h 21 int 22 main(void) 23 { 24 #ifdef WIN32 25 WSADATA wsa; 26 /* additional Win32-specific variables */ 27 #else 28 /* UNIX-specific variables */ 29 #endif 30 31 #ifdef WIN32 32 /* initialize winsock */ 33 if(WSAStartup(MAKEWORD(2, 0), wsa) != 0x0) 34 { 35 printf(WSAStartup() failed.\n); 36 return(1); 37 } 38 #endif 39 40 /* 41 * ready to use sockets API 42 */ 43 44 return(0); 45 } 披好鹿份孰矮襟水透灾愉堤算曳潍滤惋撂差灯划线榷愚揖撵懂猪鸯疏岿诱第五章 编写可移植的代码第五章 编写可移植的代码 可移植的网络编程 —可移植的构件之setsocketopt() 1 /* handle return value as integer */ 2 ret = setsockopt(sd, IPPROTO_IP, IP_HDRINCL, 3 (const char *) flg, sizeof(flg)); 4 /* check if values is less than zero */ 5 if(ret 0) 6 { 7 printf(setsockopt() failed.\n); 8 return(1); 9 } 10 11 /* handle return value using ifdefs */ 12 ret = setsockopt(sd, IPPROTO_IP, IP_HDRINCL, 13 (const char *) flg, sizeof(flg)); 14 /* if Win32, check for SOCKET_ERROR constant */ 15 #ifdef WIN32 16 if(ret == SOCKET_ERROR) 17 #else 18 /* otherwi

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档