为什么strcat(mystring)与mystring不同?

时间:2016-09-01 15:01:27

标签: matlab

否则

[~, currenthost] = system('hostname');
table({currenthost}, 'VariableNames', {'host'})

给出

ans = 

       host   
    __________

    [1x9 char]

做着

[~, currenthost] = system('hostname');
table({strcat(currenthost)}, 'VariableNames', {'host'})

给出

ans = 

       host   
    _________

    'my-hostt'

为什么?

1 个答案:

答案 0 :(得分:6)

实际差异小于您的想法。

strcat删除尾随空格。您的currenthost变量为'my-hosttt '(请注意最后一个空格)。当您致电strcat时,最后一个空格被移除。

巧合的是,MATLAB对表格中显示字符的限制是9,所以如果有一个长度为8的字符串,它会显示字符串本身,如果它更长,它只会告诉你它的长度!

长话短说:它们是相同的类型,字符较少。由于长度,MATLAB只是以不同方式显示它们。