zoukankan      html  css  js  c++  java
  • C语言中memset(void *s, char ch,unsigned n)用的用法

    将指针s所指的内存空间中前n为重置为字符c

    程序例:

      #include <string.h>

      #include <stdio.h>

      #include <memory.h>

      int main(void)

      {

      char buffer[] = "Hello world/n";

      printf("Buffer before memset: %s/n", buffer);

      memset(buffer, '*', strlen(buffer) );

      printf("Buffer after memset: %s/n", buffer);

      return 0;

      }

      输出结果:

      Buffer before memset: Hello world

      Buffer after memset: ***********

    错误的例子

      main(){

      char *s="Golden Global View";

      clrscr();

      memset(s,'G',6);//貌似这里有点问题//

      printf("%s",s);

      getchar();

      return 0;

      } 

      【这个问题相当大,程序根本就运行不下去了,你这里的S志向的是一段只读的内存,而你memset又试图修改它,所以运行时要出错,修改办法char *s修改为char s[]】

  • 相关阅读:
    第1次实践作业
    Beta版本演示
    2019 SDN上机第7次作业
    Beta冲刺(4/4)
    Beta冲刺(3/4)
    Beta冲刺(2/4)
    Beta冲刺(1/4)
    2019 SDN上机第6次作业
    2019 SDN上机第5次作业
    SDN课程阅读作业(2)
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/3658474.html
Copyright © 2011-2022 走看看