我写下面的代码:
(歌是结构)
private void get_attribute(string file)
{
byte[] b = new byte[128];
FileStream fs = new FileStream(file, FileMode.Open);
fs.Seek(-128, SeekOrigin.End);
fs.Read(b, 0, 128);
Song song = new Song();
song.Singer= Encoding.Default.GetString(b, 33, 30);
song.Album= Encoding.Default.GetString(b, 63, 30);
song.Title= Encoding.Default.GetString(b, 3, 30);
string a = song.Singer + song.Album + song.Title;
textBox1.AppendText(a);
}
但这只会在文本框中显示歌手
我想在文本框中输入下面的文字:
歌手:...专辑:...标题:...
上图是变量手表的截图
我也无法删除' \ 0'来自字符串使用" trunc"方法
答案 0 :(得分:1)
您必须修剪字符串中的终止字符:
string album = "Saz Single\0\0\0\0\0\0\0\0\0";
string singer = "Bahram\0\0\0\0\0\0\0";
string title = "saz\0\0\0";
album = album.Trim('\0');
singer = singer.Trim('\0');
title = title.Trim('\0');
string a = album + " " + singer + " " + title;
理想情况下,您可以将该功能放在Song类的方法中!或者甚至更好地覆盖Song类的ToString()方法以返回您需要的内容。