История изменений
Исправление saahriktu, (текущая версия) :
С 1-м апреля, ага. А я тут допилил пару реализаций утилитой.
// v0.7 by Saahriktu
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
long int a2, al;
char *buf;
if (argc < 4) {
printf("usage: leftpad string width char\n");
return 1;
}
a2 = atol(argv[2]);
al = a2 - strlen(argv[1]);
if (al < 1) {
printf("%s\n", argv[1]);
return 0;
}
buf = (char *)malloc(a2 + 1);
if (buf == NULL)
return 1;
memset(buf, argv[3][0], al);
buf[al] = '\0';
printf("%s\n", strcat(buf, argv[1]));
free(buf);
return 0;
}
#!/usr/bin/python3
import sys
if len(sys.argv) < 4:
print("usage: leftpad.py string width char\n")
sys.exit()
print(sys.argv[1].rjust(int(sys.argv[2]), sys.argv[3][0]))
Исходная версия saahriktu, :
С 1-м апреля, ага. А я тут допилил пару реализаций утилитой.
// v0.6 by Saahriktu
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
long int a2, al;
char *buf;
if (argc < 4) {
printf("usage: leftpad string width char\n");
return 1;
}
a2 = atol(argv[2]);
al = a2 - strlen(argv[1]);
if (al < 1) {
printf("%s\n", argv[1]);
return 0;
}
buf = (char *)malloc((a2 + 1));
if (buf == NULL)
return 1;
memset(buf, argv[3][0], al);
buf[al] = '\0';
printf("%s\n", strcat(buf, argv[1]));
free(buf);
return 0;
}
#!/usr/bin/python3
import sys
if len(sys.argv) < 4:
print("usage: leftpad.py string width char\n")
sys.exit()
print(sys.argv[1].rjust(int(sys.argv[2]), sys.argv[3][0]))