这段代码错在哪?提示无法解析的外部符号 win32控制台

来源:百度知道 编辑:UC知道 时间:2024/05/31 22:38:37
#include "stdafx.h"
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{

char a[]="fdsfdsfsdfsdaf";
replace(a,a+strlen(a)-1,'f','b');
cout<<a;
return 0;
}
不好意思,注释掉,第一行就行了,丢人了!
补充个别的吧:VC中怎么关闭某个端口,比如80。

“→”转成字符,比如‘a’,怎么转?

大家看补充的啊,上面那个别看了!

所有的MFC实现文件第一条语句都是:#include "stdafx.h"。但是,你自己创建的是
win32控制台程序,因此你包含这个是有问题的

一般情况下,是由于没有找到相应的实现(unresolved)。代码链接中断所导致的这种错误。

原因:

未包含相应代码文件(比如只有头文件而没有CPP文件的类),或者没有加入相应的静态库文件到工程选项中(你看看自己属于哪种)。别注掉就可以了,这是解决问题的根本原因所在,你知道了注释掉可以,就没问为什么注释掉就可以了

具体如何使用你可以看stdafx.h,至于后面加的问题
不知道你是问这个不,先看下程序是不

#include <iostream>
using namespace std;
void main()
{
int m='a';
cout<<(char)'a'<<endl; //强制显式转换
cout<<'a'<<endl; //隐式转换,与上面的是等价的
cout<<m<<endl;
}

这里顺便引用别人的话说下动态库文件与静态库文件

,从编程的角度讲,通常有静态库文件和动态库文件。windows静态库文件就是.lib文件,动态库文件就是.dll文件。内容一样,都是将函数封装在一起编译后供自己或他人调用。好处在于编译后的库文件看不到源代码,可保密;同时不会因为不小心修改了函数而出问题,便于维护。
两种库的区别在于静态库被调用时直接加载到内存,而动态库再是在需要的时候加载到内存,不使用的时候再从内存释放。

unix系统的静态库文件和动态库文件后缀分别是.a和.so

没错啊。调试通过