腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(286)
视频
沙龙
3
回答
是否有一个标准的C函数来计算字符串长度达到某个限制?
c
、
string
考虑一种情况:我有一个已知长度的缓冲区,它可能存储一个以空结尾的字符串,并且我需要知道字符串的长度。 size_t strlenUpTo( char* buffer, size_t limit ) size_t count = 0; count++; }
浏览 6
提问于2010-12-14
得票数 3
回答已采纳
4
回答
哪个是最标准的:
strnlen
还是
strnlen
_s?
c
、
c11
在我当前的项目中,我正在按照C11标准(用gcc -std=c11构建)进行编码,并且需要类似于
strnlen
( strlen的“安全”版本,它返回0结尾字符串的长度,但最多只能返回一个给定的最大值)因此,我查找了它(例如,),C11标准似乎提到了这样一个函数,但名称为
strnlen
_s。 因此,我使用了
strnlen
_s,但是当包含string.h时,结果发现这是未定义的。另一方面,
strnlen
是定义的,所以我目前的解决方案是使用
strnlen
,并指出标准名称似乎是
strnlen
_
浏览 1
提问于2021-02-24
得票数 8
回答已采纳
2
回答
gcc在使用c99或c11方言时警告“函数的隐式声明”
gcc
、
compiler-warnings
、
c99
、
c11
EDIT编译(只包含一个#的特殊缩减测试)void DeleteMe(){ int nLen =
strnlen
/EzyThread.c:4:13: warning: implicit declaration of function ‘
strnlen
’ [-Wimplicit-function-declaration]
浏览 6
提问于2017-10-28
得票数 2
1
回答
C++中是否支持
strnlen
函数?
c++
、
c++11
size_t maxbuf=128; char sd1[maxbuf]; return 0;错误是:问题: 他们是
strnlen
的好替代品吗?
浏览 3
提问于2015-09-20
得票数 3
1
回答
不存在在gcc-4.2.1上的Mac 10.6.8 -如何定义它?
c++
、
c
、
macos
、
gcc
现在我的问题是,
strnlen
似乎在这个程序的最新版本中被使用了,而它在10.6.8中并不存在,gcc给了我这样的信息:...Undefined symbols for architecture ppc:...所以,我只想给
strnlen
下个定义,但不太知道怎么定义。 Q:,谁能提供
浏览 2
提问于2015-09-08
得票数 5
回答已采纳
1
回答
在iOS 4.2.1上未在此作用域中声明
strnlen
objective-c
、
ios
、
xcode
、
string
我有在.mm文件中使用
strnlen
的代码using std::strlen; // doesn't work 有没有办法在iOS 4.2.1上使用
strnlen
浏览 0
提问于2012-04-06
得票数 0
1
回答
命令提示符中无输出
c
、
arrays
、
string
、
function
、
pointers
'_', '\0' }; fgets(password, 15, stdin ); b = strncmp(password, punct, 10); d = isdigit(
st
浏览 0
提问于2015-10-16
得票数 0
5
回答
strnlen
是如何在C++中工作的?
c++
、
string
我搞不懂
strnlen
如何在C++中使用非空终止的字符串,因为我不确定它是如何计算大小的。= '\0') ++sz; return sz;但是如何实现
strnlen
()呢?
浏览 2
提问于2014-02-03
得票数 1
回答已采纳
1
回答
FreeRTOS中
strnlen
的隐式声明
c
、
gcc
、
compiler-warnings
、
freertos
、
strlen
在与GCC一起开发针对ARM Cortex M3的FreeRTOS应用程序时,使用C99方言,我决定使用
strnlen
,假设它是一个标准的C函数,并且我只需要包含它就可以使用它。编译器警告我关于
strnlen
的隐式声明,这让我意识到它不是C99标准的一部分。但是,由于没有任何链接器错误,我假设函数确实存在于某个地方。如果不是string.h .h,为了使用
strnlen
,我应该包括什么头部?大多数在线网站和
strnlen
的手册页都提到了将string.h .h作为页眉
浏览 29
提问于2020-01-09
得票数 0
回答已采纳
1
回答
未定义的对“`
strnlen
_s”、strncpy_s、strncat_s的引用
c
length +=
strnlen
_s(str[i],sizeof(str[i])); { joiningstring.c:32:3: warning: imp
浏览 1
提问于2013-09-15
得票数 6
1
回答
当mod_mono无法在FreeBSD上找到增强时,如何修复它的构建?
mono
、
apache2
、
mod-mono
我正在FreeBSD上安装带有Apache2的FreeBSD,当Apache试图加载mod_mono.so模块时,我会得到以下错误。libdir=/usr/lib- =/usr/
浏览 1
提问于2010-03-03
得票数 0
回答已采纳
2
回答
为什么不考虑在C23中包含
strnlen
()?
c
、
language-lawyer
、
c-strings
、
c23
为什么没有考虑将POSIX-2008函数
strnlen
包括在内?#include <string.h>
strnlen
()函数应计算s指向的数组中字节数的较小部分,不包括终止
strnlen
()函数将永远不会检查s指向的数组的maxlen字节。
浏览 21
提问于2022-05-26
得票数 3
回答已采纳
3
回答
如何安全地使用
strnlen
?
c
、
strlen
我试图理解使用
strnlen
的正确方法,这样即使考虑到边缘情况,也可以安全地使用它。#include <stdlib.h> { printf("len = %zu\n", len); } 如果我期望一个最大大小的10字符串,但该字符串不包含这10
浏览 0
提问于2018-07-11
得票数 1
回答已采纳
2
回答
strnlen
可以用memchr实现吗?
c
、
string
、
posix
后续
strnlen
的实现是否无效?size_t
strnlen
(const char *str, size_t maxlen) char *nul = memchr(str, '\0', maxlen); return如果没有NUL,
strnlen
的契约是否只允许它查看所有maxlen字节?如果是这样的话,str的内存大小可能小于maxlen字节,在这种情况下,memchr可能尝试读取无效的内存位置。
浏览 6
提问于2020-01-19
得票数 3
回答已采纳
4
回答
在此范围内未声明MinGW g++ ` `
strnlen
`‘
c++
、
c++11
、
mingw
我试图编译的文件如下所示,只包括对
strnlen
(strc.cpp)的调用:#include <cstring> msg("default ctor"); size_t slen =
strnlen
memcpy(data, s, slen); msg("cstrin
浏览 1
提问于2016-02-04
得票数 0
回答已采纳
4
回答
当
strnlen
()使用的最大长度大于缓冲区大小时,会发生什么情况?
c
、
string
、
strlen
为了更好地理解
strnlen
的行为,我编写了以下代码:#include <string.h> bufferOnHeap[ 8]='i'; int
浏览 0
提问于2018-06-06
得票数 0
回答已采纳
1
回答
OpenCV 3.4.4使用mingw32 32- make "persistence.cpp“出错
opencv
、
installation
、
codeblocks
、
mingw32
、
cmake-gui
但是当我使用‘mingw32 32-make’来完成安装时,就会发生一个关于
strnlen
的错误,这个错误显然是没有定义的。char* icvGets(CvFileStorage*,char*,int)':C:\opencv\sources\modules\core\src\persistence.cpp:71:46:错误:'
strnlen
‘在此作用域中未声明为size_t sz =
strnlen
(ptr,maxCount);^ C:\opencv\sources\modules\core\src\persistenc
浏览 0
提问于2018-12-04
得票数 0
3
回答
将终止为空的char数组复制到std::string,以保证缓冲区长度
c++
、
arrays
、
string
、
c++11
、
char
当然,我现在可以像这样集成
strnlen
():但是这看起来很脏--它穿过缓冲区两次,我不得不处理C-工件,比如string.h和
strnlen
() (而且它很难看)。
浏览 0
提问于2016-05-04
得票数 18
回答已采纳
4
回答
未定义的对'
strnlen
‘的引用尽管有“string.h.h”,但包括
c
、
eclipse
、
gcc
、
arm
、
lpc
我有一个C文件在呼叫int main() //some stuff}Undefined reference to '
strnlen
' 奇怪的是,strcpy、strncpy或其他常见的字符串函数没有问题。虽然只使用strlen可以很容易地绕过这个问题,但我实际上遇到了使用使用
strnlen
的库的问题,而且我不想搅乱库的源代码。
浏览 8
提问于2015-05-13
得票数 8
回答已采纳
2
回答
在C程序中转储核心
c
、
memory-leaks
、
valgrind
、
coredump
")) { if (((*invoiceFile) = malloc((
strnlen
"-i")) { if (((*inputFile) = malloc((
strnlen
-c")) { if (*configFile == NULL)
浏览 4
提问于2014-01-02
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券