- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 fseek 转到文件中的特定位置并打印文本。但是当我使用 fputc 或 fwrite 时,它们会继续输入十六进制值而不是字符值。该文件是 .dat,最初用 0 填充。因此,除此之外,如果我尝试在某个地方写入,文件的其余部分将被删除......我需要它保持不变,但这个新文本会覆盖该特定位置。除此之外,为什么我的 fseek 一次移动 2 个字节而不是 1 个字节?代码:
FILE * pF;
pF = fopen( "/home/caleb/Documents/PA3/dssoo_p3_material_v2/disk.dat" , "wb" );
fseek (pF, 4, SEEK_SET);
char c='c';
fputc(c, pF);
//char buffer[] = { 'x' , 'y' , 'z' };
//fwrite (buffer , sizeof(char), sizeof(buffer), pF);
fclose (pF);
请注意,fwrite 在这里被注释掉了。我还在 fopen 中尝试了除 wb 之外的不同值。我得到:0000 0000 63
由于它是 .dat 文件,因此是否需要采用十六进制?这里的每一个0确实代表一个字节吗?如果一个字符占用一个字节,它不应该能够占用一个位置(假设不需要十六进制)吗?
编辑:我意识到如果我猫它会打印出该字符。但这是否意味着每两个空格就被视为一个字节?
最佳答案
0x64 = 'c' = 99(十进制)。 “字节”值是相同的,但以不同的方式表示。
如果使用调试器查看文件的内容,调试器可能会以“十六进制”形式向您显示数据;在这种情况下,它将显示一对代表一个字节的十六进制数字。
(是的,'在十六进制中,每对字符都是一个字节。)
在 C 中,您可以打印出以多种方式表示的字节值:
printf("%d", 0x63); // will print out: 99
printf("%X", 0x63); // will print out: 63
printf("%c", 0x63); // will print out: c
<小时/>
printf("%d", 99); // will print out: 99
printf("%X", 99); // will print out: 63
printf("%c", 99); // will print out: c
<小时/>
printf("%d", 'c'); // will print out: 99
printf("%X", 'c'); // will print out: 63
printf("%c", 'c'); // will print out: c
关于c - 为什么我的 fputc/fwrite 一直以十六进制打印以及如何打印到文件的中间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23460971/
我有一个在 Android 市场上相当流行的应用程序,它允许数以万计的用户按下一个按钮并向它发出语音命令。然后我就可以做很多不同的事情,比如给他们提供当前的天气预报等等...... 无论如何,我的应用
令人惊讶的是,标题基本上解释了它。我们有一个我们的客户制作的页面,我们正在重新创建该页面。 页面高度会一直增加,直到(我假设是这样)浏览器达到它的极限。我已经尝试过 Firebug 和 W3 验证器,
我是 react-native 的新手,试图创建我自己的组件,但它一直显示一个空屏幕。 这是我的组件代码 class BoxComponent extends Component { cons
我正在为我的 PHP 元素创建一个非常简单的博客,但遇到了一个简单的问题。我无法让我的页眉图像一直 float 。我有一个横幅,左边有一些文字,我有一个 1px 的切片,在可以选择的任何分辨率的宽度上
为什么我可以在另一个 Controller 的 View 中访问一个 Controller 的辅助方法?有没有办法在不破解/修补 Rails 的情况下禁用它? 最佳答案 @George Schreib
我正在使用带有最新 ADT 插件的 Eclipse Kepler SP2。每隔一分钟 Eclipse 就会说“为 Android 4.4.2 加载数据”并阻止我想做的一切。我在不同的文件夹中有几个 E
我是一名优秀的程序员,十分优秀!