UCOS str_len_n

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
typedef   unsigned int         CPU_INT32U;    
typedef  volatile  CPU_INT32U  CPU_REG32; 
typedef CPU_INT32U CPU_ADDR;
typedef  CPU_ADDR    CPU_SIZE_T;   
typedef char CPU_CHAR;
unsigned int   Str_Len_N (const  char    *pstr,
                              unsigned int   len_max)
{
    const  char    *pstr_len;
           unsigned int   len;
 
 
    pstr_len = pstr;
    len      = 0u;
    while (( pstr_len != (const char *)  0 ) &&             /* Calc str len until NULL ptr (see Note #3a) ...       */
           (*pstr_len != (      char  )'\0') &&             /* ... or NULL char found      (see Note #3b) ...       */
           ( len      <  (      unsigned int )len_max)) {          /* ... or max nbr chars srch'd (see Note #3c).          */
        pstr_len++;
        len++;
    }
 
    return (len);                                               /* Rtn str len (see Note #3b1).                         */
}
 
int main()
{
std::cout<<Str_Len_N("sfsdfsdfasfds",10)<<endl;
  std::cout<<sizeof(NULL)<<endl;
}

  

posted on   lydstory  阅读(23)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-01-05 usb hid(驱动开发)
2018-01-05 bluez蓝牙测试工具
2018-01-05 linux两个线程

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示