关于直接操作stdin缓冲区的一段演示代码:
#include <stdio.h>
int main()
{
char *s[512];
scanf("%s", s);
*(stdin->_ptr) = '\0';
printf("------神奇的分割线开始------\n");
int len= (int)(stdin->_ptr-stdin->_base);
printf("正序输出为:%s\n", stdin->_base);
printf("倒序输出为:");
while(len>0)
{
printf("%c", *--(stdin->_ptr));
len--;
}
printf("\n------神奇的分割线结束------\n");
return 0;
}
以下为测试输出样例:
D:\c_source\tt1\main\bin\Debug>main
lsdnkfaohfuiwejhfowklanevkawjhvkzsj23905ui205
------神奇的分割线开始------
正序输出为:lsdnkfaohfuiwejhfowklanevkawjhvkzsj23905ui205
倒序输出为:502iu50932jszkvhjwakvenalkwofhjewiufhoafkndsl
------神奇的分割线结束------