QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 763|回复: 4

从文件中读入一行后,写一程序,切掉首尾的空白和TAB?

[复制链接]
发表于 2004-9-23 12:02:54 | 显示全部楼层 |阅读模式
麻烦哪位大侠能提供一下~~
发表于 2004-9-23 12:15:27 | 显示全部楼层
有ltrim()和rtrim()函数吗?或类似的??
回复

使用道具 举报

发表于 2004-9-23 12:17:40 | 显示全部楼层
楼主能不能自己先试试啊
回复

使用道具 举报

发表于 2004-9-23 13:30:16 | 显示全部楼层
很简单的,如果使用C++标准模板库里的string类就更容易了。
分别从首尾顺序遍历字符串,判断一下就搞定了,总共用不了你五分钟时间。
回复

使用道具 举报

发表于 2004-9-23 13:40:40 | 显示全部楼层
我自己搞的,你在目录下建一个名叫“str”的文件,里面写上些前导、后置空格、TAB或回车,这三种字符都能剔除。
程序很简单,楼主自己看吧,我就懒得写注释了……^_^

[code:1]#include "stdio.h"
void main (void)
{
  char src[100],*pstr=NULL;
  FILE *pfile;
  int len=0,i;
                                                                                
  for (len=0;len<100;len++) src[len]=0;
                                                                                
  pfile=NULL;
  pfile=fopen("str","r");
  if (!pfile) return;
                                                                                
  len=0;
  while (fread(src+len,sizeof(char),1,pfile)==1)
    len++;
                                                                                
  printf("Src str:[%s],Len of src:[%d]\n",src,strlen(src));
                                                                                
  i=0;
  while (src[i]==' ' || src[i]=='\t' || src[i]=='\n')
    i++;
                                                                                
  pstr=src+i;
  for (i=strlen(pstr)-1;i>=0;i--)
    if (pstr[i]!=' ' && pstr[i]!='\t' && pstr[i]!='\n')
      break;
  pstr[i+1]=0;
  printf("Len dest:[%d]\tDest string:[%s]\n\n",strlen(pstr),pstr);
}
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 11:39 , Processed in 0.058787 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表