加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

从标准C中的字符串中删除字符

发布时间:2020-12-13 19:03:55 所属栏目:Linux 来源:网络整理
导读:我在(ubuntu精确)linux系统上,我想从C中的字符串中删除前导字符(制表符).我认为以下代码正在处理我以前的安装(ubuntu oneric),但我发现它现在不起作用(请注意,这是一般UTF-8字符代码的简化版本): #include 我做 gcc -o removetab removetab.c 执行removetab

我在(ubuntu精确)linux系统上,我想从C中的字符串中删除前导字符(制表符).我认为以下代码正在处理我以前的安装(ubuntu oneric),但我发现它现在不起作用(请注意,这是一般UTF-8字符代码的简化版本):

#include 

我做

gcc -o removetab removetab.c

执行removetab时我得到了

MY_LINE_ORIG=   interface(quiet=true):
MY_LINE=interfae(quiet==true):

注意“=”和缺少“c”的出版物!
什么是错的,或者我怎样才能实现这个目标.代码应该支持UTF-8字符串.

最佳答案
strcpy(my_char,my_char+1);

strcpy字符串不得重叠.

从C标准(强调我的):

(C99,7.21.2.3p2) “The strcpy function copies the string pointed to by s2 (including the terminating null character) into the array pointed to by s1. If copying takes place between objects that overlap,the behavior is undefined.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读