文件字符串匹配替换 2011.11.10
2011-11-10 13:25
190 查看
test.txt:
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
test1.txt:
abcdefghijkl1234 pqrstuvwxyz
abcdefghijkl1234 pqrstuvwxyz
abcdefghijkl1234 pqrstuvwxyz
abcdefghijkl1234 pqrstuvwxyz
在某处看到,转来做笔记用……
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
#include <stdio.h> int main() { FILE *in = fopen( "test.txt", "r "); FILE *out = fopen( "test1.txt", "w "); const char *from = "mno "; /* 要替换 的源串 */ const char *to = "1234"; /* 目标串 */ const char *pFrom = from; /* 匹配指 针 */ char c; while ((c = getc(in)) != EOF) { if (*pFrom == c) /* 判断( 1) */ { ++pFrom; if (*pFrom == '\0 ') { fprintf(out, "%s ", to); pFrom = from; } } else /* 否则若不匹配,则 */ { if (pFrom != from) /* 若匹配指针不处于替换串首字符 位置,说明前面已经匹配了一部分,则 */ { const char *pPushBack; for (pPushBack = from; pPushBack != pFrom; ++pPushBack) { putc(*pPushBack, out); } pFrom = from; } putc(c, out); } } fclose(out); fclose(in); return 0; }
test1.txt:
abcdefghijkl1234 pqrstuvwxyz
abcdefghijkl1234 pqrstuvwxyz
abcdefghijkl1234 pqrstuvwxyz
abcdefghijkl1234 pqrstuvwxyz
在某处看到,转来做笔记用……
相关文章推荐
- 【转】如何编写Python脚本替换文件中的多行字符
- Perl 字符替换操作-用于两个文件的合并
- 如何编写Python脚本替换文件中的多行字符?
- Java IO浅谈(个人感觉例子不错,替换流,数组,文件或者大的字符串中的一些字符或者字符串)
- 遍历文件字符替换,截取
- 如何替换某文件中的所有的特定字符?---linux sed命令(文本编辑命令)
- SCO搜索替换文件中字符程序
- Java正则多字符串匹配替换
- DB2导出带特定字符的txt文件(无空格替换10进制数据)
- 迅速在文件中替换某字符
- 替换字符及文件修改 dos
- C++:替换文本文件中的某些字符
- mac book下批量替换多个文件中的字符
- 替换文件中的字符
- python-文件操作seek(单个字符替换)
- 如何替换某文件中的所有的特定字符?---linux sed命令(文本编辑命令) (转载)
- Java 正则表达式--字符串匹配、切割、与替换
- C语言代码分享之字符串匹配及文件读写结合
- 字符串匹配并替换Java
- shell脚本替换文件中字符