天天看點

fgetc, fgets, getc, getchar, gets,

#include<stdio.h>

#include<string.h>

void p(char );

void printnum(long n, void (*p)(char) ) ;

int main()

{

    long n;

    char ch=92;//這個數字對應與ASCII值,沒有對應的就不會輸出字元;

                //char型字元用單引号‘’表示一個(int型的)ASCII值,\

                                              雙引号“ ”表示char*指針

    char buf[128]="asdfgh";

    char str[128]={0};

    char temp[128]={0};

    printf("input a num %lu:",sizeof(long));

    scanf("%ld",&n);

  //  printf("%c\n",getchar());//吸收stdin裡面的回車符

    getchar();

  //吸收stdin裡面的回車符

    printf("possion1 \n");

    printf("input a string:");

    fgets(str,128,stdin);//從stdin标準輸入流中讀入最大128位元組内容放入str中\

                                                                讀取以'\n'結尾的一行(包括'\n'在内)存到緩沖區str中\

                                                                這裡會等待使用者輸入,輸入Enter鍵結束等待,然後讀取stdin裡内容到str中  

    sscanf(str,"%[^\n]",temp);

   // printf("%s",str);    //這裡不直接列印str.是有原因的,這個很重要!

    printf("%s",temp);

    printnum(n,p) ;//列印數字

    printf("%c",10);

    puts(buf);

    fputs(buf,stdout);

    putc(ch,stdout);

    putchar(ch);

    putchar(10);

    printf("possion2 \n");

    printf("###%d",putchar(ch));

}

void printnum(long n, void (*p)(char ch))

    {

        if(n < 0)

        {

            (*p)('-');

            n = -n;

        }

        if(n >= 10)

        printnum(n / 10, p);

        (*p)("0123456789"[n % 10]);

    }

void p(char ch)

{

    printf("%c",ch);

}

繼續閱讀