首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

输出单个字符的有关问题

2013-12-23 
求助:输出单个字符的问题在linux下,为什么这段代码不是一个一个字符输出,而是输出一串字符#include stdio

求助:输出单个字符的问题
在linux下,为什么这段代码不是一个一个字符输出,而是输出一串字符

#include <stdio.h>
#include <unistd.h>

void delay_play(char *str)
{
    while(*str)
    {
        putchar(*str++);
        usleep(10000);
    }
}

int main(void)
{
    char *text = "I am chinese";

    for(;;)
    {
        delay_play(text);
        puts("");
    }

    return 0;
}

而在windows下就是一个一个字符输出
#include <stdio.h>
#include <windows.h>

void delay_play(char *str)
{
    while(*str)
    {
        putchar(*str++);
        Sleep(100);
    }
}

int main(void)
{
    char *text = "I am chinese";

    for(;;)
    {
        delay_play(text);
        puts("");
    }

    return 0;
}


[解决办法]
#include <stdio.h>
#include <unistd.h>

void delay_play(char *str)
{
    while(*str)
    {
        putchar(*str++);
        fflush(stdout);
        usleep(1000000);
    }
}

int main(void)
{
    char *text = "I am chinese";

    for(;;)
    {
        delay_play(text);
        puts("");
    }
 
    return 0;
}

热点排行