Ошибка в коде по удалению символа
Я написал код для удаления заданного количества символов, но при выводе в консоль, выводит странные символы
#include <windows.h>
#include <iostream>
bool dellsymbol(char* list, char* outlist, int lensymbol)
{
int len = (lstrlenA(list) - lensymbol);
printf("LIST: %s\n", list);
printf("LENLSIT: %d\n", len);
for (int i = 0;i < len;i++)
{
if (lstrlenA(outlist) < len)
{
outlist[i] += list[i];
}
}
return 1;
}
int main()
{
char dd[] = "VALERA1";
char* outlist;
int lensymbol = 2;
outlist = (char*)malloc(lstrlenA(dd) - lensymbol);
memset(outlist, 0, (lstrlenA(dd) - lensymbol));
dellsimbol(dd, outlist, lensymbol);
std::cout << outlist << std::endl;
}
Вывод VALER¤¤¤¤. Хотелось бы знать где я допустил ошибку
Ответы (1 шт):
Автор решения: krime
→ Ссылка
Нашел иной более удобный вариант ответа на свой вопрос
char ch[] = "Hello World";
int len = strlen(ch);
ch[len - 1] = '\0';