使用读取功能读取特定行

时间:2017-06-12 13:05:44

标签: c

假设我有一个1000行的二进制文件 public sealed partial class MainPage : Page { public readonly ObservableCollection<string> Items = new ObservableCollection<string>(); public MainPage() { this.InitializeComponent(); Items.Add("Test 2"); Items.Add("Test 1"); Items.Add("Test 0"); } private void OnAddItemClick(object sender, RoutedEventArgs e) { Items.Insert(0, $"Test {Items.Count}"); } private void OnContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args) { var addedItem = args?.ItemContainer; if (addedItem == null) return; var transform = addedItem.TransformToVisual(Window.Current.Content); } } ,它是使用data.bin编写的。为了阅读它,我只需要做这样的事情(其中fwrite是一个大小为1000的双缓冲区):

data

这将读取整个文件,但我只想阅读最后 500行!这意味着我必须跳到FILE *fp = fopen("data.bin", "rb"); fread(data, sizeof(double), (1000*sizeof(double),fp); 中的第499行,然后从那里开始阅读直到结束。如何修改以前的data.bin函数来读取最后500行?

谢谢。

1 个答案:

答案 0 :(得分:0)

您是否了解fseek()函数?您需要将指针设置为从最后500行开始,然后读取直到eof。

查找fseek(),您将能够解决此问题。

Here is a link for further information on fseek()