问题标签 [lseek]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - SEEK_HOLE 和 SEEK_DATA 在 Ubuntu 12.04.2 LTS 中不起作用
编译时出现错误:
如果我删除 SEEK_HOLE 和 SEEK_DATA 我没有问题。
我错过了包含或库吗?
生成文件:
孔测试.c:
系统:
更新:
它现在可以编译但不起作用,SEEK_HOLE 会直接跳过这个洞并寻找到文件的末尾。
c - C将文件内容从EOF复制到SOF
我的程序几乎可以正常工作。预期目的是从末尾读取文件并将内容复制到目标文件。然而,让我感到困惑的是lseek()
方法更多,所以我应该如何设置偏移量。
我src
现在的内容是:
Line 1
Line 2
Line 3
目前我在目标文件中得到的是:
Line 3
e 2
e 2 ...
据我了解,调用int loc = lseek(src, -10, SEEK_END);
会将源文件中的“光标”移动到末尾,然后将其从 EOF 偏移到 SOF 10 个字节,并且 loc 的值将是我扣除偏移后的文件大小。然而,在 C 的 7 小时后,我几乎在这里脑死亡。
linux - /dev/watchdog 上的 lseek() 导致系统崩溃
我是这个论坛的新手,想请教专家一个问题。我编写了以下程序(更大的一部分,但这是给我带来麻烦的代码)
困扰我的是,在我以 root 身份运行该程序后,在 20-30 秒后,系统崩溃了,我似乎无法弄清楚原因。普通用户不会发生这种情况。你能就这个问题告诉我吗?
谢谢!
PS。是的,我知道 /dev/watchdog 是一个字符文件,它不可搜索,但这看起来很奇怪。
c - 从文件中删除字节 - c
如何从文件中删除从 i 到 i 的字节。
示例:"today me and my roomates went to a party";
如果 i = 3,我想删除第 3 个字节、第 6 个、第 9 个......等我尝试使用 lseek 和 fgets,但我不知道如何做整个事情。
我尝试了什么:
我没有做太多,因为我不知道该怎么做。也许你可以帮助我一些答案和提示。
c - 为什么在这里使用 SEEK_END 不起作用?
所以我试图从大学的一个片段中学习 C 文件 IO 操作。我的问题是它SEEK_END
不起作用,因为我期望它起作用。
让我们为您提供更多详细信息:
输入.txt:
代码:
我的问题是写“xy”。我希望输出是
相反,它是
为什么不写“xy”?
c - 在没有 lseek() 的情况下写入和读取 linux /proc/... 文件系统
在此源代码http://man7.org/tlpi/code/online/dist/sysinfo/procfs_pidmax.c.html/proc/sys/kernel/pid_max
中,首先简单地读取文件(使用read
系统调用),然后简单地写入(使用write
系统调用)。
为什么在写作之前没有必要lseek
从头开始?我认为文件偏移指针对于读取和写入是相同的(这就是相关书籍的作者所说的)。
c - SEEK_HOLE 始终指向文件末尾
我正在处理 APUE 的问题,以某种方式编写类似于 cp 的程序来复制文件(第 4 章问题 4.6)。如果文件包含漏洞(或稀疏文件),则不应处理间隙中的“\0”。理想的方法是逐块读写,其大小由 lseek(fd, current_off, SEEK_HOLE) 确定。我以 /bin/ls 为例。但是每次我查找这个文件(或其他文件)时,文件的偏移量总是设置为文件的末尾。我已经检查了这篇文章,但似乎没有令人满意的答案。这是我的代码:
我的内核是从最新的稳定树中提取的 linux 3.13.0-rc3,我的 fs 是 ext4。如果 lseek 不可用,将任何 '\0' 视为孔的开始是否合适?感谢您的回答。
c - lseek() O(1) 复杂吗?
我知道我的问题在这里有答案:QFile seek performance。但我对答案并不完全满意。即使在查看了generic_file_llseek()
ext4 的以下实现之后,我似乎也无法理解如何衡量复杂性。
比如说,我有一个 4GB 的文件,并且我知道文件中间部分的偏移量,那么在lseek()
不遍历整个文件的情况下究竟如何才能到达那里?操作系统是否已经知道文件的每个字节所在的位置?
linux - 硬盘访问 fseeko 和 fread 与 lseek 和读取
如果我想做硬盘访问,使用fseeko
withfread
和lseek
with有什么区别吗?read
我的程序检查原始硬盘 ( /dev/sdX
) 上的某些模式。我的程序当前使用fseeko
和fread
.
平台是linux。
c - lseek 中的偏移量(第二个)参数
我运行下面的程序。我预计它会出错。但它运行完美并给出了输出。
程序:
lseek
也适用于
对于其他字母,它会给出错误,例如
lseekL
和on是什么意思?I