文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>溢出程序示例

溢出程序示例

时间:2010-10-14  来源:aaron_xueli

程序如下:

  1 #include <stdio.h>
  2 #include <string.h>
  3
  4 char *upcase(char *inputstring, char *newstring);
  5
  6 int main(void)
  7 {
  8         char str1[4];
  9         upcase("Hello", str1);
 10         printf("str1= %s\n", str1);
 11         return 0;
 12 }
 13
 14 char *upcase(char *inputstring, char *newstring)
 15 {
 16         int counter;
 17         strncpy(newstring, inputstring, sizeof(newstring)-1);
 18         for(counter = 0; counter < strlen(newstring)-1; counter++)
 19         {
 20                 if (newstring[counter] >= 97 && newstring[counter] <= 122)
 21                 {
 22                         newstring[counter] -= 32;
 23                 }
 24                 *(newstring+strlen(newstring)) = 0x00;
 25                 return (char *)newstring;
 26         }
 27 }

在这个程序中,字符串str1和str2的长度故意设置得很小。当实际输入的字符串的长度大于字符串所限制的长度时, 超出的部分将被截取。这一方法虽然可以避免溢出,但会导致数据的丢失,更好的方法是使用动态内存或链表来保存数据。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载