LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 732|回复: 4

如何进行文本编辑和整理

[复制链接]
发表于 2004-1-15 21:14:19 | 显示全部楼层 |阅读模式
我有一个文件test.txt内容如下
1aaabb
1cccccc
1ddeeeee
1
1fffff
1gg
1aaabb
1cccccc
1ddeeeee
1
1fffff
1gg
需要整理成为如下
aaa,bb,cccccc, ,fffff,gg
aaa,bb,cccccc, ,fffff,gg
请高手指点,急需
用c或c++均可,谢谢
发表于 2004-1-16 17:02:03 | 显示全部楼层
用脚本来写很方便呀,为什么要用C/C++写呢?
用C写也可以,算法如下:
1.从文件中读入一个字符。
2.判断字符是不是小写字母,如果不是,则把它抛弃,继续读取下一个字符。
3.如果是,则要判断它与前一个字符是否相同,如果相同则写入输出文件,返回到1. 如果不相同,则向输出文件写入一个逗号,再把字符写入到输出文件。然后返回到1.
发表于 2004-1-17 14:10:33 | 显示全部楼层
我做了一个编辑器, 加亮c代码用的curese 的 窗口也实现了就是慢,
还有时候有错误,我是自己想的分页是不是这里有问题啊?
ncurses 分页应该怎样处理啊?
 楼主| 发表于 2004-1-19 12:22:54 | 显示全部楼层
最初由 kj501 发表
用脚本来写很方便呀,为什么要用C/C++写呢?
用C写也可以,算法如下:
1.从文件中读入一个字符。
2.判断字符是不是小写字母,如果不是,则把它抛弃,继续读取下一个字符。
3.如果是,则要判断它与前一个字符是否相同,如果相同则写入输出文件,返回到1. 如果不相同,则向输出文件写入一个逗号,再把字符写入到输出文件。然后返回到1.

谢谢,能把具体代码写出来吗?
我想学习一下,谢谢!!!!
发表于 2004-1-19 20:18:10 | 显示全部楼层
这是我写的代码,我不是很清楚你的具体要求,但最关键的东西已经表示出来了。你完全可以在这个基础上进行修改以满足你的需要。
用法:把程序用gcc编译好之后,直接执行,根据提示先后输入文本文件名和输出文件名,输出文件中的内容即是执行结果。

[php]
#include<stdio.h>

int main(int argc, char* argv[])
{
        FILE *in, *out;
        char file_in[50], file_out[50];
        char c1, c2;

        /* tell program about the filename and open it. */
        printf("%s\n", "input the filename of text file:");
        scanf("%s", file_in);
        in = fopen(file_in, "r");

        printf("\n%s\n", "input the filename of output file:");
        scanf("%s", file_out);
        out = fopen(file_out, "w");

        c1 = fgetc(in);
        while ( (c2 = fgetc(in) ) != EOF )  {
                if (c1 >= 'a' &&  c1 <= 'z') {
                        if ( c1 == c2 )
                                fputc(c1, out);
                        else {
                                fputc(c1, out);
                                fputc(',', out);
                        }

                }
                c1 = c2;
        }
}
[/php]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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