dolphin_zhangting 2015-05-21 02:08 采纳率: 0%
浏览 1701

VC6 默认缓冲区空间问题(与_M_MPPC)

在网络上看到资料:“如果我们没有自己设置缓冲区的话,系统会默认为标准输入输出设置一个缓冲区,这个缓冲区的大小通常是512个字节的大小。“。
为了知道VC编译器默认对流式文件分配的缓冲区空间大小,我用以下代码:
//测试代码
#include
#include
#include
#include

void main(void)

{
printf("BUFSIZ=%d\n",BUFSIZ); //查看默认缓冲区大小

FILE *fp;

if((fp=fopen("dat.txt","w"))==NULL)
{
    puts("can not open file");
    exit(0);
}

int i;
for(i=0;i<4097;i++) fputc('*',fp);

system("pause");    //程序暂停,如果此时缓冲区溢出那dat.txt将已经有溢出部分的内容
fclose(fp);

}

/*

测试结果:
1、BUFSIZ的返回值是512。
2、当i=4097时,前4096个字符溢出,说明在流式文件缓冲区溢出限制是4096个字节。
*/

得到这个结果后,我看了一下VC6的stdio.h中对BUFSIZ的声明:
/* Buffered I/O macros */

#if defined(_M_MPPC)
#define BUFSIZ 4096
#else /* defined (_M_MPPC) /
#define BUFSIZ 512
#endif /
defined (_M_MPPC) */

这里我知道对于BUFSIZ空间的分配取决于是否有声明_M_MPPC,但关于这个_M_MPPC,我搜索到一篇资料,里面说明:
”_M_MPPC
Defined for Power Macintosh platforms. Default is 601 (/QP601). See Table 1.4 for more details.
“,但我仍不清楚这个是关于什么声明。

  • 写回答

1条回答 默认 最新

  • Tiger_Zhao 2015-05-21 05:14
    关注

    Power Macintosh 是上世纪九十年代的一款苹果台式机。你用VC是不会支持这种机型的。

    评论

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号