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

前端之家收集整理的这篇文章主要介绍了从标准C中的字符串中删除字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

#include dio.h>
#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.

猜你在找的Linux相关文章