- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
考虑这个程序:
#include <stdio.h>
#include <windows.h>
int main(int argc, char** argv) {
if (argc != 2)
return 1;
HANDLE j = CreateFile("\\\\.\\F:", FILE_GENERIC_READ, FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, NULL);
int k = SetFilePointer(j, atoi(argv[1]), NULL, FILE_BEGIN);
printf("%d\n", k);
}
我得到这些结果:
> a 512
512
> a 513
-1
> a 1024
1024
所以我只能以卷扇区大小的倍数移动文件指针。这是 FILE_FLAG_NO_BUFFERING 的预期行为旗帜。但是我没有使用那个标志,为什么我会得到这些结果?
最佳答案
您打开了对驱动器卷而不是文件的直接访问。无论缓冲如何,卷的读/写必须是扇区大小的偶数倍。您不能读取/写入部分扇区。
关于c - 没有 FILE_FLAG_NO_BUFFERING 的 SetFilePointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37103491/
正如标题所说,我正在编写一个网络程序,我在其中使用 CreateFile 打开网络驱动程序的句柄,并且我一直在试验 NO_BUFFERING 标志。 大多数文档甚至都不会提及将其与通信设备一起使用,而
最近在 MSDN 中注意到 FILE_FLAG_NO_BUFFERING 标志的详细描述,并阅读了几个关于 Windows 中无缓冲 I/O 的 Google 搜索结果。 http://msdn.mi
我正在使用VB6和Win32 API将数据写入文件,此功能用于导出数据,因此磁盘写入性能是我考虑的关键因素。因此,在调用 CreateFile 打开文件时,我使用 FILE_FLAG_NO_BUFFE
我正在尝试测量 FILE_FLAG_WRITE_THROUGH 和 FILE_FLAG_NO_BUFFERING 对文件写入序列的影响,如 another question 中的请求。但我发现我无法写
我正在使用 Windows ReadFile 函数按顺序读取一个 4GB 的文件,使用 FILE_FLAG_NO_BUFFERING。我使用 64K 的缓冲区,一切正常,但问题是我的数据在当前缓冲区的
我正在 try catch 子进程的输出 (stdout/stderr),特别是如果它异常退出,我可能会得到一些有用的错误输出。 我创建了一个输出文件,并在 STARTF_USESTDHANDLES
考虑这个程序: #include #include int main(int argc, char** argv) { if (argc != 2) return 1; HANDL
一些背景知识:我一直在尝试在对大文件进行 IO 时使用 FILE_FLAG_NO_BUFFERING 标志。我们正在尝试减少缓存管理器的负载,希望通过后台 IO 减少我们的应用程序对用户机器的影响。性
我在使用带有重叠 I/O 的标志 FILE_FLAG_NO_BUFFERING 时观察到一个奇怪的行为。我调用了一系列 ReadFile() 函数调用,稍后使用 GetOverlappedResult
我正在尝试对 NTFS 的文件读取时间(顺序访问)进行基准测试。我的代码获取开始时间,执行大小等于 4096 字节(系统上 NTFS 的簇大小)的读取并记录结束时间。然后存储两个时间之间的差异,并重复
据我所知,然后使用 POSIX O_DIRECT与 open()阻止设备文件的工作方式与组合 FILE_FLAG_WRITE_THROUGH 的工作方式相同和 FILE_FLAG_NO_BUFFERI
大家,我每秒有很多文件写入磁盘,我想禁用磁盘缓存以提高性能,我谷歌搜索找到解决方案:win32 CreateFile 方法与 FILE_FLAG_NO_BUFFERING 和 How to empty
大家,我每秒有很多文件写入磁盘,我想禁用磁盘缓存以提高性能,我谷歌搜索找到解决方案:win32 CreateFile 方法与 FILE_FLAG_NO_BUFFERING 和 How to empty
我是一名优秀的程序员,十分优秀!