我有以下c#代码段
string[] lines = File.ReadAllLines(@"C:\test.txt");
for(int i=0; i<lines.Length; i++)
Console.WriteLine(lines[i]);
你能帮我把它转换成C.
谢谢!
答案 0 :(得分:2)
如果您打算使用Ansi Standard C,则需要fopen
,fgets
和printf
来执行您想要的操作。
答案 1 :(得分:1)
答案 2 :(得分:0)
这个过程应该像预期的那样工作:
打开文件,找出编码(ReadAllLines为你做的那样)用猜测的编码读取输入,将其重新编码为目标格式 - 可能是UTF16 - 并将其打印到stdout ......
答案 3 :(得分:0)
只是为了它的价值,如果您只是将数据从一个流复制到另一个流,则无需担心逐行执行 - 行由新行字符(或回车符和数据中的/或回车/换行组合)。
如果只是简单地复制数据而不更改数据,则会保留这些行。为了最大化速度,您可能希望以二进制模式打开文件,并使用fread / fwrite一次复制相当大的数据块(例如4兆字节)。
答案 4 :(得分:0)
你可以用C ++以简单的方式完成它。
ifstream input("test.in");
string line;
while(getline(input, line)) {
//Your code for the current line
}
答案 5 :(得分:0)
使用fgets
邀请棘手的边缘案例:
在我的博客上,我发布了example of how to do it robustly with fgets
。