我想使用matlab在* .txt文件中打印一个字符(键盘输入是数字)

时间:2016-02-21 14:17:30

标签: matlab input char printf

fileID = fopen('nums.txt','w'); %opens a.txt file
s = input('s = '); %requests a number as input from the keyboard
a = char(s) %converts the number to character
fprintf(fileID,'%4.4f\n',a); %prints the character (not number) in a *.txt file

目的是在* .txt文件中打印一个字符,该文件预先写为数字。我输入数字作为输入,然后我将数字转换为相应的字符 即使matlab还给我一个=!在命令窗口中,* .txt文件包含数字(键盘输入)33(未转换为相应的字符,应该是)

期待您的慷慨帮助。

1 个答案:

答案 0 :(得分:3)

主要问题在于 label.adjustsFontSizeToFitWidth = true fprintf()标记表示浮点数,而%f似乎是字符串。您需要使用a%s中编写字符串。

假设我们按照您的建议输入fprintf() 根据您的代码,在命令窗口中我们将33,这是正确的,但在.txt文件中我们将a=!因为33.0000本质上重新转换它由于fprintf()标签,回到数字(浮点,准确) 将%f替换为

fprintf()

命令窗口显然仍会显示fprintf(fileID,'%s\n',a); %prints the character (not number) in a *.txt file ,但这次在.txt文件中我们也会显示a=!