如何修改文件夹中所有文件的代码
How can I modify code of all files in folders
我需要对很多文件(C++)进行一些重复修改。我需要用sprintf()替换所有的strcpy()和strcat()。我发现转换会是这样的:
strcpy(out,in) would be sprintf(out,%d,in)
和
strcat(out,in) would be sprintf(out,out%d,in)
我可以用什么工具来快速进行所有更换,我不能手动进行,有9000多个工具需要修改。
谢谢你的建议。
我使用的是windows xp/linux Ubuntu
我之所以这么做,是因为我们计划实现一种翻译代码的方法。因为我们使用的是strcat等等,所以我们无法使情景翻译工作得很好。因为要写入所有内容的文件将按照正确的顺序包含所有内容
我会使用编译器,或者更准确地说,使用预处理器。
具体来说,我会找到一个项目范围的标题,并在其中添加几行,如:
#define strcpy(out, in) sprintf(out, "%s", in)
#define strcat(out, in) sprintf(out+strlen(out), "%s", in)
并将源代码的其余部分放在一边。然后,当你恢复理智时,很容易变回理智,并在它们应该在的地方使用strcpy
/strcat
。
您应该使用任何好的源编辑器(如notepad++)来根据正则表达式替换字符串。但是,在尝试用一个表达式更改9k行之前,不要忘记将所有文件备份到一个单独的位置。
问候
首先,替换为:
strcpy(out,in) to sprintf(out, "%s", in)
和
strcat(out,in) to do{ int temp = strlen(out); sprintf(out+temp, "%s", in); } while(0)
其次,要进行此更改,取决于您的操作系统。如果您在Linux或macOS下,或者在Windows下可以访问Linux工具,则可以使用接受正则表达式的sed
。
在普通的窗户里,我不知道。
相关文章:
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 此代码编译良好,但文件未创建?请指出错误
- 找不到Linux Visual Studio代码C++文件
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 如何使代码打印文本文件中的第一行?
- 编译多个C++文件.调用二进制文件以运行代码
- VI工作室代码错误无法打开输出文件主.exe
- 获取 clang++:错误:在编译文件系统库的代码时
- 如何在软件代码中使用ofstream创建文件
- 我可以删除 *.o文件(代码:: blocks)
- 用于人脸检测的Haar级联xml文件代码解释OpenCV
- 如何直接从分配的内存中执行mmaped二进制文件/代码
- 文件 I/O 代码未正确读取C++
- 单个文件代码中未定义的引用错误
- 将数组写入文件代码不起作用(C++)
- IO文件代码不一致
- 如何在单个文件C++代码中使用库
- 是否有可能改变.so文件代码在android工作室本身,并使构建
- 疑难解答阅读CSV文件代码
- Bazel头文件代码生成器