【命令行】printf \b

转义序列说明
\b后退一格(Backspace)
\t水平制表(Tab=4个空格)
\v垂直制表
\r回车(Enter)
\f换页
\a发出鸣响
\n换行
\"输出/输入双引号(")
\'输出/输入单引号(‘’)
\?输出/输入问号(?)
\\输出/输入反斜杠(\)
\/输出/输入斜杠(/)

 

 

 

 

 

 

 

 

 

 

 

 

 

//Example
#include "stdio.h"
int main()
{
    int i;
    for(i=0;i<=5;i++)
    {
        printf("%d,",i);
    }
}

//上面的代码输出为0,1,2,3,4,5,
//那么问题来了?怎么去掉5后面的逗号呢?这时候 \b 派上用场了

//修改代码如下
#include "stdio.h"
int main()
{
       int i,j=1;
       while(j=1)
       {
           for(i=0;i<=5;i++)
           {
               print("%d,",i);
           }
           j=0;
       }
       printf("\b");
} 

//输出结果为 0,1,2,3,4,5
//逗号就这样神奇地去掉啦

实际测试下 可能环境不行 后面再试试SHELL

 

 

 

 

 

 

 

 

 

### 关于命令行参数的概述 命令行参数是指程序启动时由操作系统传递给应用程序的一系列字符串。这些参数允许用户在执行程序时动态地向程序输入数据,从而实现更灵活的功能调用。 #### 不同编程语言中命令行参数的处理方式 #### C# 在C#中,命令行参数通过`Main`方法接收,具体形式为`string[] args`。当从命令行运行带有额外参数的应用程序时,例如 `dotnet run arg1 arg2 arg3`,每个附加项都会作为数组中的单独元素被存储起来[^1]。 ```csharp class Program { static void Main(string[] args) { foreach (var arg in args) { Console.WriteLine(arg); } } } ``` 此代码片段展示了如何遍历并打印所有接收到的命令行参数。 #### Python 对于Python而言,有两种主要的方法来访问命令行参数: - **sys模块**: 该方法较为基础,直接利用`sys.argv`列表获取所有的命令行参数[^5]。 ```python import sys print('参数个数:', len(sys.argv), '个') print('参数列表:', str(sys.argv)) ``` - **argparse模块**: 更加结构化和面向对象的设计模式,适用于构建复杂的CLI(命令行界面),特别是在涉及大量选项的情况下非常有用[^3]。 ```python import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator') parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)') args = parser.parse_args() print(args.accumulate(args.integers)) ``` 这段代码创建了一个简单的整数累加工具,并支持求和或寻找最大值两种操作。 #### Go Go语言提供了内置的标准库`flag`来进行命令行参数解析工作。这个包能够轻松定义布尔型和其他类型的标记(flag),并且自动帮助开发者完成大部分繁重的工作,比如解析、验证等[^2]。 ```go package main import ( "flag" "fmt" ) func main() { var n = flag.Int("n", 10, "a dummy parameter") flag.Parse() fmt.Println(*n) for i := 0; i < *n; i++ { fmt.Printf("%d ", i) } } ``` 上述例子说明了怎样设置默认值以及读取来自用户的自定义数值。 #### C语言 而在经典的C语言里,则是依靠传统的argc/argv机制来捕获外部传入的信息。这里不仅有基本的概念介绍还有深入探讨如使用`getopt()`函数简化复杂场景下的参数分析过程[^4]。 ```c #include <stdio.h> int main(int argc, char* argv[]) { printf("Number of arguments:%d\n", argc); int c; while ((c = getopt(argc, argv, "abc:d")) != -1){ switch(c){ case 'a': puts("-a option used"); break; case 'b': puts("-b option used"); break; case 'c': printf("option c with value %s\n", optarg); break; case 'd': puts("-d option used without argument"); break; default: abort(); } } return 0; } ``` 以上实例演示了如何结合`getopt()`函数处理带短横线(-)开头的形式各异的开关式命令行参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值