我在这里有一小段代码来自我设计的东西,但我不断收到错误:
sprintf not declared in scope
我是否在#includes 中包含某些内容,或者我怎样才能使其正常工作?我在我妈妈的 VS 上工作,但回到家,我无法在代码块上得到它
if (tmp2 <= B_dest[hr - 6])
{
sprintf(name, "B%d", tmp3);
}else{
sprintf(name, "A%d", tmp3);
}
我在这里有一小段代码来自我设计的东西,但我不断收到错误:
sprintf not declared in scope
我是否在#includes 中包含某些内容,或者我怎样才能使其正常工作?我在我妈妈的 VS 上工作,但回到家,我无法在代码块上得到它
if (tmp2 <= B_dest[hr - 6])
{
sprintf(name, "B%d", tmp3);
}else{
sprintf(name, "A%d", tmp3);
}
您需要包括stdio.h
.
#include<stdio.h>
stdio.h
声明函数,如果sprintf
没有标头,编译器无法理解是什么sprintf
意思,因此它会给你错误。
在 C++ 中请注意,
包括在命名空间和可能在全局命名空间cstdio
中导入符号名称。
包括在全局命名空间和可能在命名空间中导入符号名称。 std
stdio.h
std
这同样适用于所有 c 样式的标题。
确保你已经#include <cstdio>
并std::sprintf()
按照@Potatoswatter 的指示访问 sprintf。
或者做旧的 c 风格:#include <stdio.h>
包括sprintf的定义。
我与 C::B 有类似的问题,发现问题不仅仅是编译器路径 - 似乎 IDE 本身在打开 #include <...> 文件时遇到问题 - 但是这可以通过设置 -> 编辑器来解决-> 其他设置 -> 打开文件时使用编码:默认
我的编码不是默认的,这不知何故导致 IDE 打开 include <...>
然而,它并没有解决“未在此范围内声明”的问题