确认Buffer

王朝other·作者佚名  2006-01-08
窄屏简体版  字體:   |    |    |  超大  

确认Buffer

要时时确认对设定的排列或变量的大小,以避免数据混乱或导致系统出问题。请看下面使用者输入数据的例子:

char city[10];

/* 为都市名称的排列 */

printf("Enter a city name: ");

scanf("%s", city);

printf("City is %s\n", city);

在这里,都市名称设定为10字(英文字)以内。如果使用者输入10字以上的都市名称会怎么样呢?可以说程序失败或覆盖Buffer里面的数据。不管怎样,不要做冒险的事,你要检查文字的长度:

char city[10];

/*为都市名称的排列*/

printf("Enter a city name: ");

fgets(city, sizeof(city), stdin);

printf("City is %s\n", city);

上面已修改的程序是:如果使用者输入10字以上的都市名,只接受Buffer能接受的长度为止,其外的会不接受。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航