如何写入文件流编码是UTF-8

如何写入文件流编码是UTF-8,第1张

fopen("xxx.txt", "w,ccs=UTF-8")仅针对新版的VC有效。

6.0不行的样子,2008记得可以,2005及以前不明

wfstream可以通过设置locale的方法实现我记得,不过VC的话似乎到了2012才给你utf8的类。 还是用C的接口的方式比较容易的样子

StreamWriter类有几个构造函数,其中有一个构造函数有两个参数(string path,bool append),其中path为文件的路径,如果该文件存在,则可以向其覆盖或追加;如果文件不存在,则创建一个新文件。bool类型值append确定是否将数据追加到文件。如果文件存在且append为true,则数据将追加到文件中

首先要理解这个方法:ReadLine这个方法每被调用一次,只会读取一行内容.下一次再次被调用时,会从下一行开始读取,当然,也只会读取一行

FileStream fs = new FileStream("user.game",FileMode.Open)

StreamReader sr = new StreamReader(fs)

//运行正常

string type = sr.ReadLine()//这句代码被执行后,文件中第一行的内容已经被读取完了,也就是阅读器已经运行到了第一行最末的位置,下次再读取时会从下一行开始读取

if (type.Equals("Turtle"))

{

//内容被执行了

}

//运行错误

if(sr.ReadLine().Equals("Turtle"))//这里你又一次调用了这个方法,所以阅读器从这里再读取你的文件中第二行的内容,因为你的文件只有一行内容,所以第二行内容肯定是读不到内容的,所以为空

{

//内容没有被执行

}

测试方法是:在你文件中加多第二行内容,再运行,就可以发现这个时候sr.ReadLine()已经变成了第二行的内容了

图形编程米学过啊^^

但是从你的程序可以看出

sfd.ShowDialog() == DialogResult.OK

这里showDialog函数反回的是什么东东(是一个对象吗),还有DialogResult.Ok这里的DialogResult肯定是个类,那么OK是一个成员,这个OK是什么类型的成员?

因此估计你这里的程序

首先是sfd.ShowDialog()反回的类型与DialogResult.Ok的类型不皮配

其次:若sfd.showDialog()反回的类型是一个对象,而DialogResult.OK也是一个对象,并假设他们是相同的对象,则这两个对象是什么类的对象,对于这个类有没有重载==运算符呢?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11494887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存