c - 在格式化输出时使用变量而不是常量,并且需要将其左对齐

标签 c

这是我的代码的一小部分:

char *a;
asprintf(&a,"%%%ds",Max_FnLen);
printf(a,files[i-1]->d_name);
free(a); 
printf("%s",KNRM);
if ( (i % (180/Max_FnLen)) == 0) printf("\n");

它运行良好,但我想左对齐输出,但默认情况下它是右对齐的,任何人都可以帮助我。

最佳答案

使用“-”修饰符,例如: printf("%-20s\n", "短行");

就您而言:

char *a;
asprintf(&a,"%%-%ds",Max_FnLen);
printf(a,files[i-1]->d_name);
free(a); 
printf("%s",KNRM);
if ( (i % (180/Max_FnLen)) == 0) printf("\n");

关于c - 在格式化输出时使用变量而不是常量,并且需要将其左对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46151760/

相关文章:

c - 段错误(核心已转储)- 结构;

c - 实现发送和接收原始以太网帧的 C 程序时遇到问题

c - C 中将字符数组拆分为多个较小的以空结尾的字符数组

Android NDK 中通过 SWIG 的 Java 字符串用奇怪的字符代替空字节

c - 销毁分离线程 (POSIX)

c - ## 宏预处理器的使用

c - 二维数组的空指针异常

c++ - Bitshift - 需要解释才能理解代码

C语言——Malloc无限空间?

c - 为什么我的程序在写入文件时崩溃?