304得票9回答
为什么glibc的strlen需要如此复杂才能快速运行?

我在这里查看 strlen 代码,我想知道代码中使用的优化是否真的有必要?例如,为什么像以下代码一样的东西不能同样地或更好地工作呢?unsigned long strlen(char s[]) { unsigned long i; for (i = 0; s[i] != '\0...

173得票12回答
如果字符串过长,PHP中如何添加...

我在MySQL数据库中有一个描述字段,在两个不同的页面上访问数据库,一个页面显示整个字段,但在另一个页面上,我只想显示前50个字符。如果描述字段中的字符串少于50个字符,则不会显示...,但如果超过50个字符,则会在第50个字符后显示... 示例(完整字符串): Hello, this i...

113得票18回答
如果在循环条件中使用strlen,会被计算多次吗?

我不确定以下代码是否会导致冗余计算,或者这是编译器特定的吗?for (int i = 0; i < strlen(ss); ++i) { // blabla } 当i增加时,strlen()会每次被计算吗?

90得票10回答
在C中查找字符数组的长度

在 C 语言中,有什么方法可以找到字符数组的长度? 我欣然接受伪代码,但如果有人想写出来也不反对 :)

46得票3回答
Sizeof与Strlen的区别

#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char string[] = "october"; // 7 letters strcpy(stri...

39得票6回答
strlen没有检查NULL值

strlen()函数为什么不检查NULL? 如果我执行strlen(NULL),程序会产生分段错误。 试图理解其中的原理(如果有的话)。

36得票4回答
C预处理器中的strlen是什么?

能否在C预处理器中实现strlen()函数? 已知:#define MYSTRING "bob" 是否有一些预处理宏,X,可以让我这样说:#define MYSTRING_LEN X(MYSTRING)

36得票5回答
当2维数组别名化时,strlen的意外优化

这是我的代码:#include <string.h> #include <stdio.h> typedef char BUF[8]; typedef struct { BUF b[23]; } S; S s; int main() { int n...

29得票5回答
在编译时确定#define字符串的长度

我有一个C程序(一个Apache模块,即程序经常运行),它将在套接字上write()一个以0结尾的字符串,因此我需要知道它的长度。 该字符串被定义为:#define POLICY "<?xml version=\"1.0\"?>\n" \ "<!DOCTYPE cro...

28得票10回答
GCC中strlen()函数的实现在哪里?

有没有人能够指引我查找GCC中 strlen() 的定义?我已经在4.4.2版本的代码中用grep搜索了半个小时了(同时也疯狂地Google),但似乎找不到实际实现了 strlen() 的位置。