空格字符/编写器问题C#

时间:2011-08-15 18:01:37

标签: c# streamwriter

我试图制作一个固定宽度的文件,但我发现当我使用空格字符时,我的txt文件中有一个奇怪的符号。如果我将“50”数字更改为“15”或“1000”,它可以正常工作。

这是我的代码:

string fileName = Path.GetTempPath() + "temp.txt";
FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter writer = new StreamWriter(stream);
writer.Write("1".PadRight(50, ' '));
writer.Write("0".PadRight(756, ' '));
writer.Close();

有什么问题?

1 个答案:

答案 0 :(得分:0)

忽略您之前阅读的内容。我接受了你的程序的输出,它在Microsoft记事本中显示出奇怪的效果,并在其他几个编辑器中打开它。它们似乎都很好。我深信这是一些编码错误,然后我打开了XVI32以查看二进制文件。

我从文件末尾删除了一个空格,然后我重新保存文件,它显示正常。我把它放回去并且问题又回来了。我将第一个十六进制字符从32更改为小于30的任何内容,并且工作正常。

所以这似乎是微软记事本的一个非常奇怪的错误。