这代码怎么会造成'read'错误..

来源:百度知道 编辑:UC知道 时间:2024/05/11 03:59:11
CString s;
char buff[256];
int len=GetLogicalDriveStrings(sizeof(buff),buff);/*获得盘符 C:\<NULL>D:\<NULL>E:\<NULL>F:\<NULL><NULL>*/
for (int i;i<len;i++)
{
if (buff[i]==0)
{
s =buff[i-3];
s+=buff[i-2];
s+=buff[i-1];
if (s=="C:\\")
{
m_c=s; //m_c 为编辑框成员变量;
UpdateData(FALSE);
}
}
}

调试运行 ,这个程序是将提取出来的C盘输出到 编辑框内.. 但点"提取"按钮的时候却会提示 "read" 显示错误...

int i = 0;

LS说的对,i没初始化(编译器给他赋值为0XCCCCCCCC)

是i没有初始化
但是有一个更好的方法,
你写的这个循环微软已经为你写了
直接
s=buff; //用这个替代你的循环
就可以了,试试看!
是不是很神奇~~~