博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3_Windows下利用批处理文件_去除C源代码中指示行号的前导数字
阅读量:7093 次
发布时间:2019-06-28

本文共 3742 字,大约阅读时间需要 12 分钟。

  在园子里面贴代码的时候,经常有人贴代码就像下面这样前面带有行号,复制下来后,粘贴到代码编辑器里面后,前面很多的数字

编译前还要全部的删除这些数字才能编译,几十行的代码删除也就算了,如果代码行成千上万行后就比较麻烦了。

 Exp:带前导行号的C源代码

1 #include 
2 3 int main(int argc,char **argv) 4 {
5 printf("hello world!"); 6 7 return 0; 8 }

  如果能有一个简单的方法来去除这些代码前面的行号,将有利于提高学习效率;既然大家都是懂得编程的人,就会想到用编程的方法来

实现这个功能;比方说利用C语言编写一个读写文件的小程序来实现这个功能;但是这样又比较麻烦,那有么有更简单的方法呢?

      答案是:有。

  利用命令行提供的功能就能实现。基于上面的需求我用命令行实现的一个简单的去除C语言代码中前面的行号批处理。下面给出批处理

文件的源代码:

@echo off title  C语言代码去除前导数字批处理 echo. echo. echo *************************************************************** echo. echo. echo 欢迎使用——C语言代码去除前导数字批处理——工具 echo. echo. echo Author: volcanol echo Version: v0.0 echo QQ: 164498180 echo Email: lilinly225 echo Blog: http://www.cnblogs.com/volcanol/ echo. echo. echo **************************************************************** echo. echo. echo 按任意键继续......... echo. echo. pause >nul ::接受用户输入文件名 cls echo. echo 请输入完整路径及文件名(文件在当前文件夹可仅输入文件名): echo. set /p file= ::判断文件是否存在 if exist %file% goto goon ::不存在要编辑的文件,提示后退出 echo. echo. cls echo ****************************************************************** echo. echo. echo 您要编辑的文件不存在,请确认路径及文件名是否正确! echo. echo 感谢使用——C语言代码去除前导数字批处理——工具 echo. echo 请按任意键退出................ echo. echo. echo ****************************************************************** pause >nul exit ::存在文件就执行下面的语句 :goon echo. >de_pre_num.c for /f "tokens=2-30" %%i in ( %file% ) do echo %%i %%j %%k %%l %%m %%n %%o %%p %%q %%r %%s %%t %%u %%v %%w %%x %%y %%z>>de_pre_num.c cls echo ****************************************************************** echo. echo. echo 已经成功处理文件,并将处理后的文件保存在:de_pre_num.c echo. echo 感谢使用——C语言代码去除前导数字批处理——工具 echo. echo 请按任意键退出......... echo. echo. echo ****************************************************************** pause >nul

Exp:下面是带前导数字C语言代码。

1 /*                  2 StrToInt: 将字符串转换为整型数                 3 */  4 #include 
5 unsigned long int str_to_int(const char *source); 6 int main(int argc char *argv[]) 7 { 8 char str[5]="1234"; 9 unsigned long int test; 10 test=str_to_int(str); 11 printf("%d\n" test); 12 return 0; 13 } 14 /* 15 函数功能: 16 将一个以0-9字符组成的字符串转换为整型数据 17 函数原型: 18 unsigned long int str_to_int(const char *source) 19 函数参数: 20 char *source: 存储字符串的首地址 21 返回值: 22 转换后的Int数值 23 异常: 24 传递空指针或者时函数无法返回正确值 25 */ 26 unsigned long int str_to_int(const char *source) 27 { 28 unsigned long int result=0; 29 while('\0'!= *source ) 30 { 31 result =(*source + result - '0')*10; 32 ++source; 33 } 34 return result/10; 35 }

Exp:下面是用批处理处理后的C语言代码:

/*                 StrToInt: 将字符串转换为整型数                */ #include 
unsigned long int str_to_int(const char *source); int main(int argc char *argv[]) { char str[5]="1234"; unsigned long int test; test=str_to_int(str); printf("%d\n" test); return 0; } /* 函数功能: 将一个以0-9字符组成的字符串转换为整型数据 函数原型: unsigned long int str_to_int(const char *source) 函数参数: char *source: 存储字符串的首地址 返回值: 转换后的Int数值 异常: 传递空指针或者时函数无法返回正确值 */ unsigned long int str_to_int(const char *source) { unsigned long int result=0; while('\0'!= *source ) { result =(*source + result - '0')*10; ++source; } return result/10; }

     在学习linux的时候,知道有正则表达式这么个玩意,在VB Script或JScript里面好像也有,都可以用来处理文本文件;以前没有深入了解命令行这个东西,现在

发现Win下的批处理还是不错的,可以实现很多功能。

 

转载于:https://www.cnblogs.com/volcanol/archive/2012/04/07/2436030.html

你可能感兴趣的文章
ASP.NET Core中自定义路由约束
查看>>
全栈看到的技术债务
查看>>
NeurIPS 2018 中的贝叶斯研究
查看>>
Linux虚拟机下安装Oracle 11G教程
查看>>
关于阿里云主机数据丢失问题,是常态还是个例?如何保障数据安全?
查看>>
Thinking in java(1):对象导论
查看>>
Powershell快速入门(一) 安装和使用
查看>>
11.OkHttp之java网络编程
查看>>
微博(APP)榜单爬虫及数据可视化
查看>>
Derek解读Bytom源码-创世区块
查看>>
常用的HTTP状态码
查看>>
快看!这个机器人穿着人类的鞋子在走路
查看>>
数据中心产业的五大现象
查看>>
搭建git私服
查看>>
安卓应用安全指南 4.3.2 创建/使用内容供应器 规则书
查看>>
PhpStorm PHP开发神器
查看>>
django 1.8 官方文档翻译:13-12 验证器
查看>>
有了这款虚拟现实头盔,用眼神就能控制无人机
查看>>
SpringBoot拦截器
查看>>
黑客分分钟劫持无人机,安全隐患不可小觑
查看>>