社区
C++ 语言
帖子详情
困惑 关于std::
taurusbbstech
2008-04-14 01:03:58
#include <cstring>
std::strncpy(firstname, fn, LIM - 1);
我不停地看到这样的用法,但是很多人都告诉我这样用不对,请问到底在什么前提下,这样用是可行的?谢谢!
...全文
268
30
打赏
收藏
困惑 关于std::
#include std::strncpy(firstname, fn, LIM - 1);我不停地看到这样的用法,但是很多人都告诉我这样用不对,请问到底在什么前提下,这样用是可行的?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tangliest
2009-07-27
打赏
举报
回复
同意29楼观点
lihui5134
2008-06-13
打赏
举报
回复
估计一些C++编译器没有把strncpy增加到std的名字空间中,因此会提示strncpy is not a member of std。这种情况下,就只有去掉std::前缀了。我在VC++6.0中同样遇到这一问题。去掉前缀可以解决。
rushman
2008-04-15
打赏
举报
回复
[Quote=引用 14 楼 taurusbbstech 的回复:]
我试了一下
用using namespace std;就会出错
用namespace std{using::strncpy;}就不出错
[/Quote]
这不是已经说明问题了吗!strncpy 不在 namespace std 里面。
不要什么都得和别人一模一样,产生差异的可能有很多,找到解决自己问题得办法就好。
overbai
2008-04-15
打赏
举报
回复
如果用命名空间,那么#include<string.h> 中就不能加.h;
而且使用命名空间时最好想使用using 指示即using +命名空间成员;
而不要使用using 声明即using namespace +命名空间名称;因为会带来二义性;
可以阅读C++ Primer
two_ears
2008-04-15
打赏
举报
回复
[Quote=引用 14 楼 taurusbbstech 的回复:]
我试了一下
用using namespace std;就会出错
用namespace std{using::strncpy;}就不出错
[/Quote]
呵呵,太牛了
你这是给std里加了一个名字,自然后面的std::strncpy就正确了
yuyunliuhen
2008-04-15
打赏
举报
回复
[Quote=引用 9 楼 steedhorse 的回复:]
C++标准库的大多数东西都是放在名字空间std中的。
[/Quote]
hhl1234
2008-04-14
打赏
举报
回复
[Quote=引用 7 楼 f22fbi 的回复:]
std是个命名空间,std::strncpy表示strncpy这个名称在std折个命名空间里
可以在代码开头加上using namespace std;这样就不必加上std::了
[/Quote]
晨星
2008-04-14
打赏
举报
回复
[Quote=引用 19 楼 taurusbbstech 的回复:]
用这句话会出错啊,不然我还在这纠缠什么呢..
[/Quote]
那只能说是其它的文题,而不是名字空间方面的问题。你代码帖的少了。
晨星
2008-04-14
打赏
举报
回复
[Quote=引用 21 楼 sun3411 的回复:]
<cstring>里面的不在std命名空间下吧, c库
[/Quote]
在的,这也正是cstring跟string.h这两个头文件的区别。后者才是标准的“C库”。
sun3411
2008-04-14
打赏
举报
回复
<cstring>里面的不在std命名空间下吧, c库
taodm
2008-04-14
打赏
举报
回复
你不会用的VC6这个垃圾货吧?
taurusbbstech
2008-04-14
打赏
举报
回复
用这句话会出错啊,不然我还在这纠缠什么呢..
godspeed_wxw
2008-04-14
打赏
举报
回复
哎!! 楼主啊,听人劝吃饱饭
using namespace std;
taurusbbstech
2008-04-14
打赏
举报
回复
真的没人理了...555555
我自己去搜搜吧...
taurusbbstech
2008-04-14
打赏
举报
回复
没人理我了..难道又是我表达的不清楚么?
薛定谔之死猫
2008-04-14
打赏
举报
回复
using namespace std;
一劳永逸
::可用于成员,也可用于分割名称空间前缀
taurusbbstech
2008-04-14
打赏
举报
回复
我试了一下
用using namespace std;就会出错
用namespace std{using::strncpy;}就不出错
jieao111
2008-04-14
打赏
举报
回复
自己搜索。名字空间域
regcwt
2008-04-14
打赏
举报
回复
#include <string>
using namespace std;
c++方式
taurusbbstech
2008-04-14
打赏
举报
回复
谢谢大家,我最想知道的是,为什么会出'strncpy' : is not a member of 'std'这样的错误提示,我只有把std::去掉,才能编译通过.
加载更多回复(10)
STL 源码剖析(侯捷先生译著)
2.2.1 SGI 标准的空间配置器,
std
::allocator 047 2.2.2 SGI 特殊的空间配置器,
std
::alloc 049 2.2.3 构造和析构基本工具:construct() 和 destroy() 051 2.2.4 空间的配置与释放,
std
::alloc 053 2.2.5 第一级...
操作系统内存管理的C++模拟
模拟可变分区内存管理,比较几种不同的分配策略 。。。 释放空间:(1)释放单元前后都被占用,将其插入到当前hole结点后面。(2)仅前一单元为空,直接改变前一单元的size大小和释放单元的...using
std
::cout; 。。。
C++系列第2:C++2.0(11+14+17+20)详解及多线程实战
90 5.5.1 RAII 与引用计数 90 5.5.2
std
::shared_ptr 90 5.5.3
std
::unique_ptr 91 5.5.4
std
::weak_ptr 91 第6章 C++2.0多线程原理与实战 93 什么是并发 93 并发的方式 93 为什么使用并发 95 线程简介 96 创建线程...
c语言中单引号和双引号的区别(顺利解决从字符串中提取IP地址的
困惑
)
问题:从c++文件中将
std
:string转换为char*后,返回包含IP地址的char*,需要将该字符串char*中的IP地址提取出来; 解决办法:1. 解决思路:IP地址最长为12字符+3句点=15字符,一般性表示为192.168.111.111;可以从第...
Become-developer:如何成为开发者
成为开发者如何成为开发者在学习编程时,我很
困惑
,所以我写了一个非常简单的md文件,类似于roudmap开始0x00入门学习编程语言>> c \ c ++和python print ( 'Hello, World!' ) #python code // c++ code # include ...
C++ 语言
64,653
社区成员
250,478
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章