c语言 fopen打开文件,不存在时创建一个长度为100字节文件
时间: 2024-04-30 11:22:57 浏览: 7
以下是C语言代码示例:
```c
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("example.txt", "w+");
if (fp == NULL) {
printf("Error: file cannot be opened.");
return 1;
}
// 写入100个空格
for (int i = 0; i < 100; i++) {
fputc(' ', fp);
}
fclose(fp);
return 0;
}
```
在以上代码中,我们打开一个名为 "example.txt" 的文件,以写入方式打开它,同时也希望在文件不存在时创建它。如果文件无法打开,程序将输出错误信息并退出。
接下来,我们使用 fputc 函数将 100 个空格写入文件中。最后,我们关闭文件并返回 0 表示程序运行成功。
这样,我们就创建了一个名为 "example.txt" 的长度为 100 字节的文件。
相关问题
c语言将字符串写入文件中,然后计算并输出文件的长度(以字节为单位)
可以使用C语言的标准库函数`fprintf()`将字符串写入文件中。计算文件长度可以使用`fseek()`和`ftell()`函数。
下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char str[] = "Hello, world!";
long int len;
fp = fopen("test.txt", "w");
fprintf(fp, "%s", str);
fclose(fp);
fp = fopen("test.txt", "r");
fseek(fp, 0, SEEK_END);
len = ftell(fp);
fclose(fp);
printf("File length: %ld bytes\n", len);
return 0;
}
```
这个程序将字符串"Hello, world!"写入到文件"test.txt"中,然后计算文件长度并输出。注意,`fseek()`函数的第二个参数为0,表示从文件开头偏移0个字节。`ftell()`函数返回当前文件指针的位置,即文件长度。
生成将一个文件转换为16进制显示到另外一个文件的可定义数据长度的C语言代码
A:以下是将一个文件转换为16进制并显示到另一个文件的C语言代码。需要定义要读取的文件名、写入的文件名和要读取的数据长度。
```C
#include <stdio.h>
int main() {
char input_file[] = "input.txt"; // 需要读取的文件名
char output_file[] = "output.txt"; // 需要写入的文件名
int data_length = 4; // 要读取的数据长度,按字节计算
FILE *f_in, *f_out;
f_in = fopen(input_file, "rb"); // 以二进制模式打开输入文件
f_out = fopen(output_file, "w"); // 以文本模式打开输出文件
if (f_in == NULL || f_out == NULL) {
printf("文件打开失败!\n");
return 1;
}
int i, len;
char buf[data_length];
while ((len = fread(buf, 1, data_length, f_in)) > 0) {
for (i = 0; i < len; i++) {
fprintf(f_out, "%02X", buf[i]); // 按16进制写入输出文件
}
fprintf(f_out, "\n"); // 写入回车换行符
}
fclose(f_in);
fclose(f_out);
return 0;
}
```
在上述代码中,我们使用了C语言的标准库函数来打开文件、读写文件和关闭文件。具体来说,我们使用了fopen函数来打开文件,将打开的文件句柄保存在f_in和f_out变量中。接着,我们使用了fread函数从输入文件中读取数据,并使用了fprintf函数将读取到的数据按16进制格式写入输出文件中。最后,我们使用fclose函数关闭文件句柄。