cc语言中空格怎么表示莫大

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
小富即安, 积分 3220, 距离下一级还需 1780 积分
论坛徽章:3
int main()
&&char a[100]=&& && & &; --字符串全是空格组成,C里有那个函数将这些空格去掉的?
&&return 0;
& |& & |& & |& & |& 
腰缠万贯, 积分 9637, 距离下一级还需 363 积分
论坛徽章:0
本帖最后由 zhangsuozhu 于
17:08 编辑
while( *p&&== ' ') p ++; 复制代码
论坛徽章:0
C处理字符串要靠自己
白手起家, 积分 102, 距离下一级还需 98 积分
论坛徽章:0
这个很简单吧
稍有积蓄, 积分 257, 距离下一级还需 243 积分
论坛徽章:0
没有现成的函数,借助isspace可以轻松实现
小富即安, 积分 3220, 距离下一级还需 1780 积分
论坛徽章:3
#include &stdio.h&
#include &string.h&
char * spacetrim(char * ptr)
& & for (i=0;isspace(ptr[i]);i++)
& && &&&if (i==strlen(ptr)-1) return NULL;
int main()
&&char a[100]=&& && & &;
&&printf(&%s&,spacetrim(a));
&&return 0;
C:\proc&trim.exe
(null)& && && && && && && &&&---&&请问为什么这里输出是null?我想要的是去空格后什么都不输出呀。
家境小康, 积分 1826, 距离下一级还需 174 积分
论坛徽章:0
本帖最后由 liexusong 于
14:05 编辑
char *trim(char *str) {
& && &&&char *ph =
& && &&&char *pl = str + strlen(str);
& && &&&while (*ph && (*ph == ' ' || *ph == '\t')) ph++;
& && &&&while (*pl && (*pl == ' ' || *pl == '\t')) pl--;
& && &&&pl[1] = 0;
}
复制代码
小富即安, 积分 3392, 距离下一级还需 1608 积分
论坛徽章:3
好多版本的。
小富即安, 积分 3220, 距离下一级还需 1780 积分
论坛徽章:3
liexusong 发表于
好像这个不能去掉字符串前后的空格
腰缠万贯, 积分 9637, 距离下一级还需 363 积分
论坛徽章:0
本帖最后由 zhangsuozhu 于
15:54 编辑
& & while (*ph && (*ph == ' ' || *ph == '\t')) ph++;
& && &&&while (*pl && (*pl == ' ' || *pl == '\t')) pl--;
1.&&*ph != '\0' 与&&(*ph == ' ' || *ph == '\t')判断重复了,可以去掉 *ph != 0的判断
2. while (*pl && (*pl == ' ' || *pl == '\t')) pl--; 可能会减减到字符串头部的前面。应改为 while (pl &= ph && (*pl == ' ' || *pl == '\t')) pl--;C语言中空格键怎么表示_百度知道C编程的时候,怎么区分中文空格和英文空格啊??_百度知道

参考资料

 

随机推荐