Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Optimized version of leftpad in plain C

Name: Anonymous 2016-03-23 21:32

#include <string.h>

static const char*
string_add(const char* first, const char* second)
{
const char* result = malloc(strlen(first) + strlen(second) + 1);
strcat(result, first);
strcat(result, second);
return result;
}

const char*
leftpad(const char* str, size_t len, char ch)
{
int i = -1;

if (ch == 0) ch = ' ';

int len = strlen(str);

while (++i < len) {
char buf[2] = { 0 };
buf[0] = ch;
str = string_add(buf, str);
}

return str;
}

Name: Anonymous 2016-04-17 18:47

>>81
your programs should know how to work with any kind of encoding.

God, no. There's no advantage to perpetuating a bunch of shitty ancient code pages and other defective text encodings.

Most programs should accept only UTF-8 and emit only UTF-8. In the odd case where you need to accept non-UTF8 input, force the client to specify the encoding - don't autodetect.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List