Здравствуйте
допустим есть функция:
int some_operation (static char *xxx) { int len = 0; char *p; p = xxx; while ((*p) != 0) { p++; len++; } printf ("\n%s\n", xxx); return (len); }
и вызовы этой функции:
some_operation ("XXX1"); some_operation ("XXX2"); some_operation ("XXX3"); some_operation ("XXX4");
первые пару вызовов отрабатывают нормально, дальше проблемы: XXX1 XXX2 XXX34f XXX45ujd
насколько я понимаю, проблема в том, что строки, передаваемые в функцию в таком виде не имеют завершающего 0 в конце.
как с этим бороться, ведь при вызове printf ("XXX1"); таких проблем не возникает.
вопрос наверное простой и глупый, но я надеюсь на помощь.