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[]】

  • 相关阅读:
    Shell脚本
    数据结构 栈 java 自带的数据结构
    桃夭
    得道多助,失道寡助
    采薇
    离骚
    两小儿辩日
    鱼我所欲也
    生于忧患,死于安乐
    曹刿论战
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/3658474.html
Copyright © 2011-2022 走看看