fflush
memset
strchr
getch与getchar的区别


int fflush(stdout)
强制每次printf()都立即显示在标准输出设备上;


void *memset(void *str, int c, size_t n)
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符;

#include <stdio.h>
#include <string.h>

int main (){
   char str[50];

   strcpy(str,"This is string.h library function");
   puts(str);

   memset(str,'$',7);
   puts(str);

   return 0;
}

输出如下:
This is string.h library function
$$$$$$$ string.h library function


char *strchr(const char *str, int c)
在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置;

#include <stdio.h>
#include <string.h>

int main ()
{
   const char str[] = "http://www.fetosoft.cn";
   const char ch = '.';
   char *ret;

   ret = strchr(str, ch);
   printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);
   return 0;
}

输出如下:
|.| 之后的字符串是 - |.fetosoft.cn|


getch与getchar的区别

getchar()从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码;若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区。若程序中有后继的getchar()函数,则直接从缓冲区逐个读取已输入的字符并输出,直到缓冲区为空时才重新读取用户的键盘输入。
getch()接受一个任意键的输入,不用按回车就返回。该函数的返回值是所输入字符的ASCII码,且该函数的输入不会自动显示在屏幕上,需要putchar()函数输出显示。getch()函数常用于中途暂停程序方便调试和查看。

发表评论