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

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

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

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

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

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

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

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

文件定位函数 rewind 反绕

         fseek 随机定位

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


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

Linux下用C语言实现文件的写入_第1张图片


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

点这里看冒泡排序

代码如下所示:

# include 
# include 
void sort(int * p, int len)
{
	for (int i = 0; ip[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中

Linux下用C语言实现文件的写入_第2张图片

Linux下用C语言实现文件的写入_第3张图片

代码写完后保存退出vim

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

gcc BubbleSort.c -o BubbleSort.out

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

./BubbleSort.out

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

运行结果如下

Linux下用C语言实现文件的写入_第4张图片


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


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

vim test.txt

结果如下:

Linux下用C语言实现文件的写入_第5张图片

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

你可能感兴趣的:(C,目标,教程,个人心得,C++,Linux技术)