- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我应该制作一个读取和写入二进制文件的 C 程序。它需要 2 个参数:
输入文件的名称 (.wav)
输出文件的名称 (.wav)
我需要读取输入 .wav 文件的前 44 个字节并将其写入输出 .wav 文件。然而,这对我来说是全新的,我已经观看了几个视频,但仍然没有完全掌握缓冲区、短裤、size_T 变量类型的概念。
这是我的问题,我知道您需要初始化两个指针(输入、输出文件)
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(int argc, char **argv){
if (argc != 2){
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
exit(1);
}
FILE *ipfile, *opfile;
char *buffer; //what does this even do? Apparently this is a block of memory that I will store what I read/write?
ipfile = fopen(argv[1], "rb+");
opfile = fopen(argv[2], "wb+");
short first_44[44]; //i think this is where i'm storing the first 44 bytes?
fread(&first_44, sizeof(short), 44, ipfile); //So i think that i'm reading from ipfile and reading up until 44 bytes and storing it in first_44 ?
fwrite(&first_44, sizeof(short), 44, opfile); //I think this is just writing what was in first_44 to opfile
fclose(ipfile);
fclose(opfile);
return 0;
}
任何人都知道这段代码有什么问题,也许可以帮助我更好地理解 I/O(从二进制文件读取并将读取的内容写入另一个文件)
谢谢!
最佳答案
更正代码。
int main(int argc, char **argv)
{
FILE *ipfile, *opfile;
char *buffer;
const int bytes = 44;
if (argc != 3)
{
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
return 0;
}
// open file
ipfile = fopen(argv[1], "rb");
opfile = fopen(argv[2], "wb");
// check if files opened
if (!ipfile)
{
printf ("Error opening input file\n");
return 0;
}
if (!opfile)
{
printf ("Error opening output file\n");
fclose (ipfile);
return 0;
}
// allocate memory
buffer = malloc (bytes);
// read input file
if (fread (buffer, bytes, 1, ipfile)!=1 )
{
printf ("Error reading input file\n");
fclose (ipfile);
fclose (opfile);
free (buffer);
return 0;
}
// write out
if (fwrite(buffer, bytes, 1, opfile)!=1 )
{
printf ("Error writing output file\n");
fclose (ipfile);
fclose (opfile);
free (buffer);
return 0;
}
// close files
fclose(ipfile);
fclose(opfile);
free (buffer);
// success
printf ("Done!\n");
return 1;
}
关于c - 二进制文件 I/O。 (感觉这个操作有心理障碍),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28145265/
我已经能够创建一个 PHP-Imagick 脚本来生成像上面那样的图像。现在我想为这些圆圈添加渐变。下面是一个理想结果的示例。 我希望给这些圆圈一种三维的感觉。希望我能够控制这个径向渐变的 x 和 y
我非常喜欢首选项 UI 项的外观和感觉,并想在我的应用程序中复制它。基本上我有一个 Activity,其中有几个 LinearLayouts 设置为可聚焦。当他们集中注意力时,我希望他们变成绿色(就像
我喜欢 Android 首选项类别中的标题栏样式。 在我的 Activity(不是 PreferenceActivity)中如何使用相同的样式? 最佳答案 由于我刚刚花了最后几个小时试图回答这个老问题
希望没有人问过这个问题 - 没看到,但如果重复,我深表歉意。 无论如何,我正在使用 Eclipse RCP 构建一些插件,并将 SWT 用于我的 UI。我有一个包含一些面板和其他项目的 Composi
我目前正在学习 Haskell 和 Yampa,并且对 react 函数有疑问。 reactimate :: IO a -- init -> (Bool -> IO (DTime, May
我一直在尝试将视频的帧速率降低到每秒 10 或 15 帧。有一些4/5年前的OBJC相关问题。我在 swift 中找不到任何东西.. 这就是我在 Playground 上所做的工作: import C
是否有可能以某种方式改变 NetBeans 的外观/感觉?我知道它使用 Swing,并且通常将 Swing 用于其 UI 的应用程序通常可以更改其 UI 方案。 OSX 的默认外观是呕吐式的,甚至可以
我正在构建一个应用程序,它可以将少量 简单的 HTML(本地)加载到单个全屏 UIWebView 中。我注意到滚动此 Web View 感觉与滚动任何其他 UIScrollView 明显不同。从本质上
我正在尝试使用python探索Elasticsearch集群,而我是Elasticsearch的新手。如果使用Marvel / Sense,则可以使用GET _mapping查看集群的架构。在Pyth
我正在做一个简单的用户控制。例如: File path: SelectedFile 是我的 UserControl 公开的一个属性 (DependencyProper
好吧,我们正在运行一个非常老式的网络应用程序。没有来自 jquery 的花哨动画,设计基本上是用一种颜色完成的。我现在的目标是创建一个更好看的应用程序,重新排列事物,引入新效果、新颜色、新感觉。但就像
我的表单需要删除一些表单上的“x”(“智能最小化”- 实际上不是那么智能)和“确定”按钮。不幸的是,当我这样做时,小键盘输入图标从中间移动到右侧,并且下方的栏变成灰色而不是黑色。 我希望能够删除最小化
我是一名优秀的程序员,十分优秀!