昨天同门问我一个问题,怎么打印输出自己写的代码。昨天由于回寝室了,没有写。今天上午来实验室想了想这个问题。思路是用open函数打开文件(自己写的代码文件),读取代码文件,然后打印就可以了。

以下是代码实现:

#include <iostream>
#include <unistd.h>
#include <fcntl.h>
//一个小测试

int main()
{	
	char arry[1024] ={0};
	int fd = open(\"./code.cpp\",O_RDONLY);
	if(fd == -1)
	{
		std::cout << \"打开文件失败!\" << std::endl;
	}
	read(fd,arry,1024);
	for(int i = 0; i < 1024; ++i)
	{
		std::cout << arry[i];
		if(arry[i] == \'/0\')
		{
			std::cout << std::endl;			
		}
	}
	return 0;
}

这只是一个小代码。没有关闭文件(close一下就行)。

假如代码比较多的话(超过1024个字符)这个代码是显示不全的,因为我设置的缓存是1024个文件描述符,想要实现大于1024个字符的代码使用(lseek函数就可以)这个不做测试了。应该还有跟好的代码实现。比如动态内存的实现等等。

收藏 打印