2014-02-02 6 views
1

Мне нужно очистить последние 5 символов из строки, используя memset в c;удалить последние 5 символов из строки с помощью memset

Я знаю только, чтобы установить первые символы из строки, используя эту функцию. Например:

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char str[] = "almost every programmer should know memset!"; 
    memset (str,'-',6); 
    puts (str); 
    return 0; 
} 

Спасибо!

+1

'str [strlen (str) - 5] = 0;' –

+3

@ H2CO3: Не будет ли это просто усекать строку? Из ее примера, я думаю, она может захотеть заменить их другим персонажем (хотя название говорит «clear») – Baldrick

+0

@ Baldrick Non sequitur. Это будет. А также? Это не имеет значения. Каждая функция, предполагающая строку с нулевым завершением, будет видеть, что символы были удалены. –

ответ

4

Использование:

char str[] = "EVERY C programmer should know memset!"; 
memset (&str[strlen(str) - 5],'-',5); 

Это перепишет последние 5 символов с -.

Обратите внимание, что для правильной работы в строке должно быть не менее 5 символов.

Смежные вопросы