Почему strcat()
с единственным аргументом не может обрезать конечные пробелы?Octave - strcat() не обрезание конечных пробелов при вызове одним аргументом
Я пытаюсь использовать strcat(), чтобы обрезать конечные пробелы из массива символов:
s = "cheese ";
s = strcat(s);
но это возвращает s = "cheese "
, то есть никаких изменений в пробельных. Если я добавлю второй аргумент в strcat(), например s = strcat(s, "");
, теперь s = "cheese"
.
Я делаю это так, а не вызываю strtrim(), потому что это явно, как учебник zyBooks хочет, чтобы мы выполнили эту задачу для одной строки - их примеры показывают, что strcat() используется таким образом , Что я не замечаю?
Похоже, что это ожидаемое поведение [как указано в ссылке] (http://octave.sourceforge.net/octave/function/strcat.html). Интересно, почему плохо использовать 'strtrim (s)' как функцию для этого. –
Я не уверен в последнем; они вообще не упоминают об этом. Что касается первого, то где он указывает, что конечные пробелы для одной строки ячейки сохраняются? Подразумевается ли это, что «Прослеживание пробела для ввода любой символьной строки устраняется до того, как строки конкатенированы»? – apraetor
'strcat' ведет себя по-разному в Matlab и в Octave. Цель 'strcat' - конкатенация (не обрезка). – Rotem