小编hun*_*ark的帖子

处理长度为C的字符串

在C(不是C++)中,我们可以考虑几种处理字符串长度的方法:

  • 只需依赖null终止符(\0):我们假设该字符串不包含\0.将字符串存储到char数组并\0在末尾追加.使用strlen()我们需要它的大小时的功能.

  • 将字符和长度存储到struct:

    typedef struct _String { char* data; int size; } String;

  • 使用另一个变量来存储长度:例如,

    char name[] = "hello"; int name_size = 5; some_func(name, name_size, ...);

就个人而言,我更喜欢使用第二种方法

  • 它可以覆盖一些包含\0在中间的"怪异"字符串.

  • 我们可以实现一些功能,如string_new(),string_del(),string_getitem(),等写一些"OOP般"的代码.

  • 我们没有两个(或更多)变量来处理字符串及其长度.

我的问题是:在C中处理字符串最常用的方法是什么?(特别是:当我们必须使用很多字符串时(例如编写一个解释器))

谢谢.

c string string-length

0
推荐指数
1
解决办法
470
查看次数

标签 统计

c ×1

string ×1

string-length ×1