VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1045|回复: 7

gets_s 找不到标识符

[复制链接]
89_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-22 09:52:53 | 显示全部楼层 |阅读模式
3驿站币
#include <cstdio>  
#include<iostream>  
#include<cstring>  
#include<string.h>
#include "pch.h"
using namespace std;

char *catstr(char *a, char *b)
{
        char *p = a, *q = b;
        while (*p) p++;
        while (*q)*p++ = *q++;
        *p = '\0';
        return a;
}
int main()
{
        char str1[105];
        char str2[105];
        gets_s(str1);
        gets_s(str2);
        cout << "str1+str2=" << " " << catstr(str1, str2) << endl;
        return 0;

}


提示错误:
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C3861        “gets_s”: 找不到标识符        数组字符串指针        f:\项目文档\数组字符串指针\数组字符串指针\数组字符串指针.cpp        23       
错误        C3861        “gets_s”: 找不到标识符        数组字符串指针        f:\项目文档\数组字符串指针\数组字符串指针\数组字符串指针.cpp        24       
错误        C2065        “cout”: 未声明的标识符        数组字符串指针        f:\项目文档\数组字符串指针\数组字符串指针\数组字符串指针.cpp        25       
错误        C2065        “endl”: 未声明的标识符        数组字符串指针        f:\项目文档\数组字符串指针\数组字符串指针\数组字符串指针.cpp        25       


最佳答案

查看完整内容

既然是vs2017应该没有问题,前头没仔细看,想当然了,应该是我记错了。 一行一行对比,可能你格式上有点问题,可能出在包含上 你包含 #include #include #include #include #include "pch.h" using namespace std; 在VS2015上包含开头是这样地 #include "stdafx.h" #include #include using namespace std; 第一句#include "stdafx.h"应该有,而且必须是非注释行的首行。 #include #include #inc ...




上一篇:SQL表设计
下一篇:学习post时遇到的问题
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-22 09:52:54 | 显示全部楼层
本帖最后由 xx_player 于 2019-5-22 18:54 编辑

既然是vs2017应该没有问题,前头没仔细看,想当然了,应该是我记错了。
一行一行对比,可能你格式上有点问题,可能出在包含上
你包含
#include <cstdio>  
#include<iostream>  
#include<cstring>  
#include<string.h>
#include "pch.h"
using namespace std;
在VS2015上包含开头是这样地
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;

第一句#include "stdafx.h"应该有,而且必须是非注释行的首行。
#include <cstdio>  
#include<iostream>  
#include<cstring>  
没问题
#include<string.h>
如果是用C++模板,不应加.h,这样
#include<string>
还有#include "pch.h"是调试头
先注释掉,试一试。有说这个顺序也有影响地。没问题再添加。

其它的没问题,如果要是再不行,就只有比较编译命令行。
工程c/c++的命令行一般为这样
/Yu"stdafx.h" /GS /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /sdl /Fd"Debug\vc140.pdb" /Zc:inline /fp:precise /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"Debug\ConDemo.pch"
你对比一下、

因为没装vs2017,都是猜,没遇到过,在网上搜,是第一句未加。还有其它,你这里没问题。
所以,所以,不好说。只能是建议。

gets_s  找不到标识符





评分

参与人数 2驿站币 +3 热心值 +3 收起 理由
58_avatar_small thzzl + 2 + 2 很给力!
89_avatar_small ghost5559` + 1 + 1 谢谢可以通过了

查看全部评分

51_avatar_middle
最佳答案
82 
online_admins 发表于 2019-5-22 11:16:32 | 显示全部楼层
原封不动用你的代码,执行没报错误啊。。。
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-22 13:21:49 | 显示全部楼层
他版本过低,肯定是VC6, 出那版本时,C++标准模板库还不健壮,也不稳定,问题很多。没法解决。是,不是问题的问题。前面有个提问同它是一模一样,用电视剧中流行的一句话:如果我没记错。

gets_s  找不到标识符


89_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-5-22 13:26:30 | 显示全部楼层
xx_player 发表于 2019-5-22 13:21
他版本过低,肯定是VC6, 出那版本时,C++标准模板库还不健壮,也不稳定,问题很多。没法解决。是,不是问题 ...

我的是VS 2017,
89_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-5-22 13:28:09 | 显示全部楼层
Syc 发表于 2019-5-22 11:16
原封不动用你的代码,执行没报错误啊。。。

版本是 vs 2017,
89_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-5-22 13:29:59 | 显示全部楼层
系统版本是WIN10    VS 2017 不知道那里有问题
00_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-22 21:54:48 | 显示全部楼层
本帖最后由 luoya120 于 2019-5-22 21:56 编辑

把#include "pch.h" 移到 #include<iostream> 前面试试。

头文件只需要下面两个:
#include "pch.h"
#include <iostream>

评分

参与人数 1驿站币 +1 热心值 +1 收起 理由
89_avatar_small ghost5559` + 1 + 1

查看全部评分

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-27 17:19

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表