这个程序在VC上怎么调试
CStringAppendString(CStringstr1,...)//一个连接字符串的函数,参数个数可以动态变化{LPCTSTRstr=str1;//str需为指针...
CString AppendString(CString str1,...)//一个连接字符串的函数,参数个数可以动态变化
{
LPCTSTR str=str1;//str需为指针类型,因为va_arg宏返回的是你的参数的指针,但是如果你的参数为int等简 //单类型,则不必为指针,因为变量名实际上即是指针。
CString res;
va_list marker; //你的类型链表
va_start(marker,str1);//初始化你的marker链表
while(str!="ListEnd")//ListEnd:参数的结束标志,十分重要,在实际中需自行指定
{
res+=str;
str=va_arg(marker,CString);//取得下一个指针
}
va_end(marker);//结束,与va_start合用
return res;
}
int main()
{
CString str=AppendString("xu","zhi","hong","ListEnd");
cout<<str.GetBuffer(str.GetLength())<<endl;
return 0;
}
我在调试的时候出现了这句话:
c:\documents and settings\31\15.cpp(25) : fatal error C1010: unexpected end of file while looking for precompiled header directive
是什么意思 展开
{
LPCTSTR str=str1;//str需为指针类型,因为va_arg宏返回的是你的参数的指针,但是如果你的参数为int等简 //单类型,则不必为指针,因为变量名实际上即是指针。
CString res;
va_list marker; //你的类型链表
va_start(marker,str1);//初始化你的marker链表
while(str!="ListEnd")//ListEnd:参数的结束标志,十分重要,在实际中需自行指定
{
res+=str;
str=va_arg(marker,CString);//取得下一个指针
}
va_end(marker);//结束,与va_start合用
return res;
}
int main()
{
CString str=AppendString("xu","zhi","hong","ListEnd");
cout<<str.GetBuffer(str.GetLength())<<endl;
return 0;
}
我在调试的时候出现了这句话:
c:\documents and settings\31\15.cpp(25) : fatal error C1010: unexpected end of file while looking for precompiled header directive
是什么意思 展开
展开全部
不懂你的意思,我猜测是要在控制台程序中利用mfc的cstring 类,但何必呢?c++库函数里面的<string>不也挺好用的吗?
非要这么做,需要加如mfx的头文件 <afx.h>,并且把项目属性-常规-mfc的使用 这个选项设置成“在共享dll中使用mfc”。当然<iostream>头文件也是要加的。
ps,我的环境是vs2008.vc6.0该差不多。
### 对补充问题的补充回答:
你都不用加头文件的吗?把你的头文件写出来。那句话的意思是说,预编译头文件出错,也就是"stdafx.h"出错,可能是你把它删了?按照msdn上面的解决:
“
In the Visual Studio environment, use one of the following methods to resolve this error:
If you do not use precompiled headers in your project, set the Create/Use Precompiled Header property of source files to Not Using Precompiled Headers. To set this compiler option, follow these steps:
In the Solution Explorer pane of the project, right-click the project name, and then click Properties.
In the left pane, click the C/C++ folder.
Click the Precompiled Headers node.
In the right pane, click Create/Use Precompiled Header, and then click Not Using Precompiled Headers.”
去 项目属性--- c/c++ --- 预编译头 ,在右边面板中选择 创建/使用预编译头,接着选择不使用预编译头。
不知道能不能解决。我想,如果你要列程序的话,最后把头文件一起写出来。
非要这么做,需要加如mfx的头文件 <afx.h>,并且把项目属性-常规-mfc的使用 这个选项设置成“在共享dll中使用mfc”。当然<iostream>头文件也是要加的。
ps,我的环境是vs2008.vc6.0该差不多。
### 对补充问题的补充回答:
你都不用加头文件的吗?把你的头文件写出来。那句话的意思是说,预编译头文件出错,也就是"stdafx.h"出错,可能是你把它删了?按照msdn上面的解决:
“
In the Visual Studio environment, use one of the following methods to resolve this error:
If you do not use precompiled headers in your project, set the Create/Use Precompiled Header property of source files to Not Using Precompiled Headers. To set this compiler option, follow these steps:
In the Solution Explorer pane of the project, right-click the project name, and then click Properties.
In the left pane, click the C/C++ folder.
Click the Precompiled Headers node.
In the right pane, click Create/Use Precompiled Header, and then click Not Using Precompiled Headers.”
去 项目属性--- c/c++ --- 预编译头 ,在右边面板中选择 创建/使用预编译头,接着选择不使用预编译头。
不知道能不能解决。我想,如果你要列程序的话,最后把头文件一起写出来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询