假设我有一个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行?
谢谢。
答案 0 :(得分:0)
您是否了解fseek()函数?您需要将指针设置为从最后500行开始,然后读取直到eof。
查找fseek(),您将能够解决此问题。