首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

去掉TXT文档中的空格 换行和标点符号,该怎么处理

2012-04-21 
去掉TXT文档中的空格 换行和标点符号编程实现去除txt文档中所有的空格 和换行。就类似于这样:庆历四年春,滕

去掉TXT文档中的空格 换行和标点符号
编程实现去除txt文档中所有的空格 和换行。就类似于这样:

  庆历四年春,滕子京 谪守巴陵 郡。越明
年,政通人和,
百废具兴。乃重 修岳阳楼 ,增其旧制, 刻唐贤今人
诗赋于其上。属予作文
以记之。 

去除以后应该变为:庆历四年春,滕子京谪守巴陵郡。越明年,政通人和,百废具兴。乃重修岳阳楼,增其旧制,刻唐贤今人诗赋于其上。属予作文以记之。 

求大神指导,本人一菜鸟。最好C++实现!!

[解决办法]

C/C++ code
#include<itreator>#include<algorithm>#include<fstraem>#include<cctype>using namespace std;int main(){const char *filename="a.txt";const char *outname="out.txt";remove_copy_if((istreambuf_iterator<char>(ifstream(filename,ios_base::binary)),istreambuf_iterator<char>(),ostreambuf_iterator<char>(ofstream(outname,ios_base::binary)),isspace);remove(filename);rename(outname,filename);return 0;}
[解决办法]
C/C++ code
#include<stdlib.h>#include<stdio.h>#include<string.h>int main(){    FILE *fp = fopen("test.txt" , "r");    char buffer[1024];    memset(buffer , '\0' , sizeof(buffer));    int size = fread(buffer,sizeof(char) ,1024 , fp);        for(int i=0;i<size;i++)    {        if(buffer[i] == ' ' || buffer[i] == '\n')            continue;        else            printf("%c" , buffer[i]);    }    return(0);}
[解决办法]
C/C++ code
#include<iostream>#include<fstream>#include<string>using namespace std;int main(){    ifstream in("1.txt", ios::in);    ofstream out("2.txt", ios::out);    string str;    while(in&&in>>str)    {        out<<str;    }    return 0;} 

热点排行