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

猎奇怪啊

2012-06-21 
好奇怪啊?C/C++ codefor (int countNum 0 temcBuffer[countNum]!0x0A countNum++) //取行头开始到换行

好奇怪啊?

C/C++ code
for (int countNum =0; temcBuffer[countNum]!=0x0A; countNum++) //取行头开始到换行的数据(指令)        {        temcBuffer[countNum]=fgetc(fpCmd);                    }  


为什么temcBuffer[countNum]已经是0x0a了还是不退出循环,好奇怪啊?
整段代码是?
C/C++ code
temchar =fgetc(fpCmd);        if(temchar==';')     //遇到英文分号就丢弃后面的内容直到遇到换行符        {            while (temchar!=0x0A)  //注释是在一行内就写完                 temchar=fgetc(fpCmd);            }                   for (int countNum =0; temcBuffer[countNum]!=0x0A; countNum++) //取行头开始到换行的数据(指令)        {            temcBuffer[countNum]=fgetc(fpCmd);            //if (temcBuffer[countNum] ==0x0a)        //    break;        }          fclose(fpCmd)


[解决办法]
引用:
有问题

[解决办法]
加断点,单步调试。你确定temcBuffer[countNum]==0x0A的时候没有退出么?
[解决办法]
temcBuffer[countNum]=fgetc(fpCmd);

这里是\n了,然后循环countNum++了,然后判断temcBuffer[countNum]!=0x0A当然就判断失败了。

条件是进入循环前判断的,操作是循环结果后条件判断前执行的。
[解决办法]
C/C++ code
for (int countNum =0; (temcBuffer[countNum]= fgetc(fpCmd))!=0x0A; countNum++)     ; 

热点排行