`
juggler
  • 浏览: 166002 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

strlen(char *s)

阅读更多

返回字符串不包括"\0"的长度。

下面是解释:

NAME
       strlen - calculate the length of a string

SYNOPSIS
       #include <string.h>

       size_t strlen(const char *s);

DESCRIPTION
       The  strlen()  function  calculates  the  length  of  the string s, not
       including the terminating `\0' character.



在unix中,读入一行时都会在后面加入"\n"紧跟一个"\0",所以strlen往往得不到正确的答案。应该是strlen(s) - 1

所以清除换行符的方法是
char test[MAX_LINE];
//....read from stdin
test[strlen(test) - 1] = '\0';

分享到:
评论

相关推荐

    计算机等级考试二级c语言试题

    long ctod( char *s ) { long d=0; while(*s) if(isdigit( *s)) { /**********found**********/ d=d*10+*s-'0'; /**********found**********/ *s++; } return d; } long fun( char *a, char *b ) { /**********...

    不用string.h库函数的,方便易用的字符串处理函数,减少库带来代码量

    signed int st_strlen(unsigned char* str);//获取字符串长度 signed int st_strcmp(unsigned char *s,unsigned char *t);//比较两个字符串大小 unsigned char *st_strcpy(unsigned char *t,unsigned char *s);//...

    libiconv_wince

    size_t len = strlen(input); char *output = (char *)malloc(OUTLEN); covert("UTF-8", "GBK", input, len, output, OUTLEN); printf("%s/n", output); return 0; } int covert(char *desc, char *src, char ...

    Windows平台c++工程base64与二进制文件相互转化

    int len = strlen(*p.get()); printf("%s\n",*p.get()); char* pcOut = new char[len + MAX_PATH]; memset(pcOut,0x00,sizeof(pcOut)); sprintf(pcOut,"{\"base64\":\"%s\",\"filename\":\"%s\"}",*p.get(),...

    md5calc.rar

    printf("MD5(\"%s\") = \n",str[i]); for(j=0;j;j++) { printf("%x",(buff[j] & 0xF0)&gt;&gt;4); printf("%x",buff[j] & 0x0F); } printf("\n*********************************************************...

    Finding Memory Bugs

    char *str = (char *) malloc(strlen(s1) + strlen(s2) + 1); if (strcmp(s1, s2) == 0) { /* strings are equal */ str = NULL; } else { strcpy(str, s1); strcat(str, s2); } return str; } /* copies ...

    c语言数据库查询系统-C语言实现sqlite3数据库查询的基本方法.pdf

    int callback(void* data, int ncols, char** values, char** headers) { int i; int len =0; int ll=0; for(i=0; i ; i++) { if(strlen(headers[i])&gt;len) len = strlen(headers[i]); } for(i=0; i ; i++) { ll = ...

    C语言库函数strlen

    C 库函数 size_t strlen(const char *str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。 声明 下面是 strlen() 函数的声明。 size_t strlen(const char *str) 参数 str -- 要计算长度的字符...

    aes_128加密算法

    printf("%d %s\n", strlen((const char*)content), content); encrypt(content,strlen((const char*)content), en, &len, key); int encode_str_size = EVP_EncodeBlock(base64, en, len); printf("%d %s\n", ...

    C语言中计算字符串长度与分割字符串的方法

    unsigned int strlen (char *s); 【参数说明】s为指定的字符串。 strlen()用来计算指定的字符串s 的长度,不包括结束字符”\0″。 【返回值】返回字符串s 的字符数。 注意一下字符数组,例如 char str[100] = ...

    服务器压力测试小工具

    tcc_strlen tcc_malloc tcc_free *********************************************************************************/ void get_hex_string(unsigned char *in_dat,int in_len,char *ou_hex) { int i; char *t=...

    C-Free 4.1 功能加强版本【附带注册代码】

    char *strrev(char *s, char *t); /* 倒序输出*/ int main(int argc, char *argv[]) { unsigned long Machinecode, x, y; char RegistryCode[20], MiddleCode[20]; int i; /*Machinecode = 3505625557; */ ...

    3级数据库上机100题.doc

    【解题思路】首先用字符串函数strlen求出字符串s的长度,赋给变量strl;再把字符串的首字符赋给字符变量ch;然后在for循环语句中,变量i从0递增到strl-1,字符串s中的所有字符左移一个位置;最后把字符变量ch的值赋...

    Magick++.cpp

    sprintf(szDate,"%s-%s",DateBegain,DateEnd); draws.push_back(Magick::DrawableText(200,276,"33")); //draws.push_back(Magick::DrawableText(200,276,szDate)); //draws.push_back(Magick::DrawableText(200...

    smtp发送邮件类(支持SSL)

    if(strlen(m_con1.m_eamil)&gt;0&&strlen(m_con1.m_pwd)&&strlen(m_con1.m_smtpsrv)&&m_con1.port&gt;0) { char * p = strdup(m_con1.m_eamil); char * pp = strstr(p,"@"); if(pp&gt;0) pp[0] = '\0'; ...

    文章编辑关于数据结构

    printf( "parse result : letter-%d, space-%d, total size-%d, num of '%s '-%d\n ", letter_num, space_num, total_num, stat_str, str_num); return 0; } int ParseString(const char *parse_str, int...

    程序设计资料2.doc

    fun(char *s) { int i,n=strlen(s); char ch; for(i=0;i;i++) { ch=s[i];s[i]=s[n-1-i];s[n-1-i]=ch;} } 2. 编写程序,实现矩阵(3行3列)的转置(即行列互换)。例如,输入下面的矩阵: 100 200 300 400 500 600 ...

    mysql5.7.24 dll库文件

    , strSQL, strlen(strSQL))) { printf("%s\n", mysql_error(&mysql;)); printf("read failed!\n"); mysql_close(&mysql;); return 2; } //get result MYSQL_RES* result; if (!(result = mysql_use_result...

    最新名企标准通用C++面试题,

    char *t="asdf\tasd\tasasddas\\tdfasdf",*d; cout; cout(d,t); getchar(); } 10.如何定义和实现一个类的成员函数为回调函数? 如果类的成员函数是一个callback函数, 必须宣告它为"static",才能把C++ 编译器...

    event实现web服务端

    bufferevent_write(bev,buf,strlen(buf)); return 0; } int copy_file(struct bufferevent *bev,const char *strFile) { int fd = open(strFile,O_RDONLY); char buf[1024]={0}; int ret; while( (ret = read...

Global site tag (gtag.js) - Google Analytics