本人使用vs2010,不知如何查看缓冲区的数据变化,就是想知道里面有没有换行符之类的。
仅供参考:
#pragma warning(disable:4996) //开头加这句或项目、属性、配置属性、C/C++、预处理器、预处理器定义中添加“_CRT_SECURE_NO_WARNINGS”
#include <stdio.h>
void dumpFILE(FILE *fp) {
printf(" *_ptr:");
for (int i=0;i<fp->_cnt;i++) {
printf("\\x%02x",(unsigned)((fp->_ptr)[i]));
}
printf("\n");
printf(" _cnt:%d\n", fp->_cnt );
printf(" *_base:%c\n",*(fp->_base ));
printf(" _flag:%d\n", fp->_flag );
printf(" _file:%d\n", fp->_file );
printf(" _charbuf:%d\n", fp->_charbuf );
printf(" _bufsiz:%d\n", fp->_bufsiz );
if (fp->_tmpfname) {
printf("*_tmpfname:%s\n",fp->_tmpfname);
} else {
printf("*_tmpfname:null\n");
}
printf("-------------\n");
}
int main() {
int a,b;
a=0;b=0;
dumpFILE(stdin);
printf("a:%d,b:%d\n",a,b);
scanf("%d",&a);
printf("a:%d,b:%d\n",a,b);
dumpFILE(stdin);
scanf("%d",&b);
printf("a:%d,b:%d\n",a,b);
dumpFILE(stdin);
return 0;
}
//d:\new\test\Debug>test
// *_ptr:
// _cnt:0
// *_base:
// _flag:257
// _file:0
// _charbuf:0
// _bufsiz:4096
//*_tmpfname:null
//-------------
//a:0,b:0
//1
//a:1,b:0
// *_ptr:\x0a
// _cnt:1
// *_base:1
// _flag:257
// _file:0
// _charbuf:0
// _bufsiz:4096
//*_tmpfname:null
//-------------
//2
//a:1,b:2
// *_ptr:\x0a
// _cnt:1
// *_base:2
// _flag:257
// _file:0
// _charbuf:0
// _bufsiz:4096
//*_tmpfname:null
//-------------
//
//d:\new\test\Debug>test
// *_ptr:
// _cnt:0
// *_base:
// _flag:257
// _file:0
// _charbuf:0
// _bufsiz:4096
//*_tmpfname:null
//-------------
//a:0,b:0
//1 2
//a:1,b:0
// *_ptr:\x20\x32\x0a
// _cnt:3
// *_base:1
// _flag:257
// _file:0
// _charbuf:0
// _bufsiz:4096
//*_tmpfname:null
//-------------
//a:1,b:2
// *_ptr:\x0a
// _cnt:1
// *_base:1
// _flag:257
// _file:0
// _charbuf:0
// _bufsiz:4096
//*_tmpfname:null
//-------------
//
//d:\new\test\Debug>