问题标签 [low-level-io]
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 - 如何检查文件描述符是否已关闭?
在 POSIX 环境中,当使用系统调用来操作文本文件 ( open(), close(), read(), write()
) 时,有没有办法检查我在使用时是否真的关闭了文件描述符close(file_descriptor)
?
示例:
c - 什么是“完全错误捕获”?
仅使用低级 I/O 用 C 语言编写程序。
程序必须具有完整的错误捕获。特别是程序应该使用 perror() 来报告系统错误......
在我的程序中...
如果我为每次读/写尝试实现这样的代码,这是否会被视为“完全错误捕获”?
注意:test()
仅用于调试,稍后将被删除:
c - 低级 I/O - 读取/创建/写入 (C)
我正在尝试在 C 中使用低级函数并希望从 STDIN 读取并将该信息存储在文件中。
我无法理解如何访问“file.txt”来读取它以打印到屏幕或存储到另一个文件。我会只使用'read(“file.txt”,buffer,sizeof [buffer])'吗?
编辑 现在创建“file.txt”后,我想打开另一个文件,比如说file1(argv [3])并将“file.txt”转储到file1(agrv [3])中。这行得通吗?
我现在打开了两个文件,但不知道如何将“file.txt”写入 argv[3]。
c - 如何使用低级 write() 函数将字符串写入文件?
例如,我可以将输入文件的内容写入和输出文件:
我也有一些用户输入:
我想使用 write() 将用户输入附加到同一个输出文件;
我怎样才能做到这一点?
-----更新----适用于
c - 使用系统调用将文件的内容写入标准输出?
我了解如何打开文件并将该文件的内容写入另一个文件。我想知道如何使用低级系统调用open() write() read() close()
打开文件以打开同一个文件并将其写入标准输出。这可能吗?
c - 将标准输入接受的全行写入具有低级 C i/o 的文件
我正在编写一个程序,它将标准输入中的行输入与单独的文件连接起来,并将组合文本写入输出文件。出于某种原因,当我在标准输入中键入一整行文本时,只会写入空格之前的第一个单词。我的代码有什么问题?
接受标准输入并写入:
在程序中进一步......将第二个文件写入输出:
命令行和输出:
c - C 低级标准输入接受文件名,然后将文件内容打印到标准输出
我想通过标准输入从用户那里获取文件名,用 open() 打开文件并将其分配给文件描述符,然后将该文件的内容打印到标准输出。这是我的代码,它不能正常工作。
问题:
- printf("输入文件名"); 声明从未出现
- 它永远不会打开文件;而是将用户输入的任何内容打印到屏幕上,然后打印“没有此类文件或目录”错误消息并退出程序
- 程序存在后,我看到在终端提示之前打印“输入文件名”
代码:
安慰:
c - 是什么导致我的程序挂起并且无法正常退出?(管道、读取系统调用、while 循环)
我有一个程序,我从几个子进程写入管道,然后尝试从每个管道读取写入每个进程的所有消息,并将它们打印到屏幕上。使用以下代码(特别是使用read
系统调用将消息存储到缓冲区的 while 循环buf
),我的程序将挂起而不退出,也不会打印发送到不同进程的所有消息。
但是,使用以下代码,程序会正确退出,但不会打印所有消息(因为它们并未全部读取):
这是我写入管道的代码:
消息是:
这是一个 9 字节的 char 数组:
解决方案
c - 为什么我的 C 程序没有打印出任何东西?
我的代码应该读取命令行上给出的 2 个文件,然后将它们打印到 STDOUT,除非给出第三个参数,在这种情况下,它应该打印到该文件而不是 STDOUT。我觉得一切都是正确的,但是当我运行程序时,什么都没有打印出来。有什么你能发现的,为什么不呢?一双新的眼睛总是有帮助的。
linux - 在块级别/扇区级别查看文件的内容
我想知道是否有命令可以在扇区/块级别查看文件的详细信息/内容?意思是,我想要以下详细信息:我有 2 个文件。我需要知道这两个文件在块/扇区级别存储的内容是否相同?是否有命令或工具可以检查它?如果有,请以正确的方式指导我?我知道我正在比较的两个文件都在运行 linux 操作系统
额外信息:这是我的情况。我有两个图像文件。我想看看两个图像文件在块/扇区级别的内容是否相同(内核代码所在的前几个 mb)。假设两个图像文件包含 linux os,我知道两者的前几 MB 应该是相同的。所以,我做了以下操作:
ls -i web-test.img -- 得到 inode 为 13
调试文件 /dev/sdb1
统计 <13> -- (ETB0): 33409
- dd if=/dev/sdb1 of=success.txt ibs=4096 count=1 skip =33409.o/p的内容不是clear txt.我需要看看它的内容是否相同。
简而言之,从块/扇区级别的两个文件中的图像文件(内核部分)中读取前几 mb 的数据
期待你的答复。