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

流的操作有关问题-走投无路了,请大侠指教

2012-04-13 
流的操作问题-走投无路了,请大侠指教!走投无路了!发帖请教众大侠!我新建了一个“流”,然后想向流里写东西,然

流的操作问题-走投无路了,请大侠指教!
走投无路了!发帖请教众大侠!

我新建了一个“流”,然后想向流里写东西,然后再从流里读东西出来,创建和写都成功了,但是读就是一直不成功。
我的底层类是glibc,实在查不出问题在哪里,只好来这问问众大侠意见,请多指教啊!
=================================================
  char * szName = (PCHAR)pvData;
char str[100]="";
static char byfirst = 0;

if(byfirst == 1)
{
//roger.lin added for test.
if(NULL == (usbstdin = fopen("B:\\log.txt", "w+")))
fprintf(stderr, "##ErrCrLog\n");
else
fprintf(stderr, "##SCSCrLog\n");
///////////////////////////
}

if(byfirst<2)
{
MonitorParse( szName );
byfirst++;
return 0;
}

//fprintf(stdin, "%s", szName);
if(usbstdin != NULL)
{
if(0!=fseek(usbstdin, 0, 2))
fprintf(stderr, "## Err_SeekEnd\n");

if( 0 <= fputs(szName,usbstdin))
fprintf(stderr, "## - %s\n",szName);
else
fprintf(stderr, "## Err_fputs\n");

if(0 != fseek(usbstdin, 0, 0))
fprintf(stderr, "## Err_SeekBgn\n");

if(fgets(str, 50, usbstdin) == NULL)
{
INT iErr;
iErr = ferror( usbstdin );
  clearerr( usbstdin );
  rewind( usbstdin );
fprintf(stderr,"##fgetsErr %d, %d, %d\n",iErr,sizeof(char *),((int *)usbstdin)[1]);
}
else
{
MonitorParse( str );
}
}
else
{
fprintf(stderr, "##usbstdin_NULL\n");
}

[解决办法]
是不是没有用fflush()的原因?

热点排行