Linux下用C语言实现文件的写入

12 篇文章 0 订阅
5 篇文章 0 订阅

C语言自带的文件写入机制是非常不错的选择

我们可以通过一下代码来轻松完成文件的写入

C语言中对文件操作的标准库函数以下所示:

 文件的打开操作 fopen 打开一个文件

 文件的关闭操作 fclose 关闭一个文件

 文件的读写操作 fgetc 从文件中读取一个字符
           fputc 写一个字符到文件中去
           fgets 从文件中读取一个字符串
           fputs 写一个字符串到文件中去
         fprintf 往文件中写格式化数据
         fscanf 格式化读取文件中数据
         fread 以二进制形式读取文件中的数据
           fwrite 以二进制形式写数据到文件中去
           getw 以二进制形式读取一个整数
         putw 以二进制形式存贮一个整数

文件状态检查函数 feof 文件结束
           ferror 文件读/写出错
           clearerr 清除文件错误标志
           ftell 了解文件指针的当前位置

文件定位函数 rewind 反绕

         fseek 随机定位

接下来就给大家演示linux环境下的文件写入


这里笔者采用的linux版本是国产的基于debian系的deepin



这次测试采用的代码是上篇博客采用的c语言冒泡排序算法

点这里看冒泡排序

代码如下所示:

# include <stdio.h>
# include <stdlib.h>
void sort(int * p, int len)
{
	for (int i = 0; i<len; i++)
	{
		for (int j = 0; j<len - i - 1; j++)
		{
			if (p[j]>p[j + 1])
			{
				int temp = p[j];
				p[j] = p[j + 1];
				p[j + 1] = temp;
			}
		}
	}
}
void Sortprintf(int *p, int len)
{
	printf("排序结果如下所示:\n");
	for (int i = 0; i < len; i++)
	{
		printf("%d ", p[i]);
	}
}
int main(void)
{
	FILE *fp;
	if ((fp = fopen("test.txt", "w")) == NULL);
	{
		printf("文件开始写入\n");
	}
	int i;
	int arr[7];
	printf("请输入数组(要求小于7个元素) :\n");
	for (i = 0; i < 7; i++)
	{
		scanf("%d", &arr[i]);
	}
	sort(arr, 7);
	Sortprintf(arr, 7);
	fp = fopen("test.txt", "w");
	for ( i = 0; i < 7; i++)
	{
		fprintf(fp, "%d ", arr[i]);
	}
	fclose(fp);
	printf("文件排序完毕结果请看文件\n");
	return 0;
}

我们新建一个BubbleSort.c文件并且将代码敲入到vim中


代码写完后保存退出vim

这里我们对代码使用gcc编译一下

gcc BubbleSort.c -o BubbleSort.out

编译完毕我们ls一下发现目录下多了一个叫BubbleSort.out的文件我们运行它

./BubbleSort.out

现在我们测试一下依次输入数组[6 74 33 15 96 100 12]

运行结果如下



在这里我们ls命令一下查看当前目录下的文件如下所示:


我们发现多了一个test.txt文件我们打开试试

vim test.txt

结果如下:


这样我们就完成了简单的Linux下使用c语言写入文件的功能,当然这个功能有更高等级的作用等待你来实现!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值