将0连接到C中的字符串

时间:2012-09-26 00:21:49

标签: c string

我正在尝试将0添加到c字符串的末尾,以使总长度为100.

因此,例如,如果字符串是“hi”,我想添加98 0。

最简单的方法是什么?

5 个答案:

答案 0 :(得分:2)

100个字符的Malloc内存。将所有字符设置为“0”,然后将前2个字符设置为hi。

答案 1 :(得分:1)

提示一个衬垫!

// this does exactly what you want
// first two chars are 'h' and 'i', all the rest are 0.
char myString[100] = {'h', 'i'};

答案 2 :(得分:0)

尝试这样的事情:

static inline char *newPaddedStringToLength(const char *string, const char character, unsigned length) {
    if(strlen(string) >= length) return NULL;

    char *newString = malloc(sizeof(char) * length);
    memset(newString, character, length);
    for(unsigned i = 0; i < strlen(string); ++i) {
        newString[i] = string[i];
    }
    return newString;
}

char *string = "Blah";
char *padded = newPaddedStringToLength(string, '0', 100);


//...

if(padded) free(padded);

答案 3 :(得分:0)

1)我可以建议您使用NULL吗?

2)C中没有字符串。

我假设您正在使用某种二进制格式。

如果你有一个char数组,你想要100个字符长,一个字符在ascii中表示为一个字节。

您可以分配一个长度为100字节的char数组

并写入h和i字节,你应该有98个空字节。如果你真的想要零写0个字节到其余部分。

你可以使用循环。

答案 4 :(得分:0)

string name[100] = {'h', 'i'}'

这是初始化字符串的最简单方法。

这里的编译器只有hi的前两个字符以及其他带有空字符(\00)的字符都是相同的。