[英]c reading a text file into array line by line and print them
我有以下 C# 代碼片段
string[] lines = File.ReadAllLines(@"C:\test.txt");
for(int i=0; i<lines.Length; i++)
Console.WriteLine(lines[i]);
你能幫我把它轉換成C嗎?
謝謝!
如果您打算使用 Ansi Standard C,則需要fopen
、 fgets
和printf
來執行您想要的操作。
該過程應該幾乎按預期工作:
打開文件,找出編碼(ReadAllLines 為您做這件事)使用猜測的編碼讀取輸入,將其重新編碼為您的目標格式(可能是 UTF16)並將其打印到標准輸出...
就其價值而言,如果您只是將數據從一個流復制到另一個流,則無需擔心逐行執行 - 行由換行符(或回車和/或回車)決定返回/換行組合)在數據中。
如果您只是簡單地復制數據而不更改它,則將保留這些行。 為了最大限度地提高速度,您可能希望以二進制模式打開文件,並使用 fread/fwrite 一次復制相當大的數據塊(例如 4 兆字節)。
你可以用 C++ 以簡單的方式做到這一點。
ifstream input("test.in");
string line;
while(getline(input, line)) {
//Your code for the current line
}
使用fgets
導致棘手的邊緣情況:
在我的博客上,我發布了一個示例,說明如何使用fgets
穩健地做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.