亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? cfileloader.cpp

?? 一個(gè)關(guān)于symbian下文本編輯器的源碼程序
?? CPP
字號(hào):
/*
 * HView [c]2004 Marcin Skoczylas, All rights reserved
 *
 * This file is under GPL license, see gpl.txt file
 *
 */

#include "CFileLoader.h"
#include "CHVContainer.h"


CFileLoader::CFileLoader()
{
	User::LeaveIfError(fs.Connect());
	iniFileName.Copy(_L("C:\\SYSTEM\\APPS\\HView\\HView.ini"));
}

CFileLoader::~CFileLoader()
{
	if (fileOpened)
	{
		Close();
	}
	fs.Close();
}

TInt CFileLoader::Open(TFileName openFileName)
{
	LOGF("open:\n");
	LOGD(&openFileName);
	LOGF_noTimeStamp("\n");

	if (fileOpened)
	{
		Close();
	}
	if (rfile.Open(fs, openFileName, EFileRead|EFileShareAny) == KErrNone)
	{
		LOGF("new file opened\n");
		fileOpened = ETrue;

		if (rfile.Size(fileSize) == KErrNone)
		{
			LOGF("file size = %d\n", fileSize);
			nameOpened = openFileName;
			return KErrNone;
		}

		//}
	}
	else
	{
		// yeyeuyeu
		// shut da ehh ;) speedup workz idea: hold two rfiles in memory and switch between them
		if (rfile.Open(fs, nameOpened, EFileRead|EFileShareAny) == KErrNone)
		{
			return KErrNotFound;
		}
		// aaaaa we're dead:(

	}
	fileOpened = false;
	return KErrGeneral;
}

bool CFileLoader::Seek(TInt where)
{
	if ((rfile.Seek(TSeek(ESeekStart), where)) != KErrNone)
	{

		LOGF("seek failed\n");
		return false;
	}
	return true;
	
}


bool CFileLoader::Read(void *buf, TInt size)
{
	/*
	if (!fileOpened || fileLength == 0)
	{
		SYS_Errorf("XFiles: Read: file not opened\n");
	}

	if ((filePos + size) > fileLength)
	{
		SYS_Errorf("XFiles: Read: read size too big\n");
	}

	*/

	TPtr8 bufPtr((unsigned char *)buf, size);

	if ((rfile.Read(bufPtr, size) != KErrNone))
	{
		SYS_Errorf("XFiles: read from file failed\n");
	}

	return true;
}

TInt CFileLoader::ReadOneLineBefore(char *buf, TInt &filePos, TInt maxChars)
{
	bool newLineFound = false;
	char *walkBuf;
	char *reverseBuffer;
	int i, j, x;

	buf[0] = '\n';
	for (i = 1; i < maxChars; i++)
	{
		buf[i] = 0x00;
	}

	if (filePos == 1)
	{
		filePos=0;
		return ERetOllayWneek;
		//return 0;
	}

	reverseBuffer = new char[maxChars];
	walkBuf = reverseBuffer;

	filePos--;

	LOGF("readOneLineBefore: fpos: %d\n", filePos);
	if ((rfile.Seek(TSeek(ESeekStart), filePos)) != KErrNone)
	{
		LOGF("seek failed\n");
		delete [] reverseBuffer;
		return filePos;
	}

	TPtr8 bufPtr((unsigned char *)walkBuf, 1);
	if ((rfile.Read(bufPtr, 1)) != KErrNone)
	{
		LOGF("read failed - eof?\n");
		delete [] reverseBuffer;
		return filePos;
	}

	if (*walkBuf == '\n')
	{
		//LOGF("this line ends with \\n\n");
		newLineFound = true;
		filePos--;
	}

	for (i = 0; i < maxChars; )
	{
		if (filePos < 0)
		{
			LOGF("beginning of file!\n");
			reverseBuffer[i] = '\n';
			reverseBuffer[i+1] = 0x00;			// REMOVE THIS IT'S ONLY FOR DEBUG!
			filePos = 0;
			if (!newLineFound)
			{
				delete [] reverseBuffer;
				return -1;
			}
			break;
		}

		if ((rfile.Seek(TSeek(ESeekStart), filePos)) != KErrNone)
		{
			LOGF("seek failed\n");
			delete [] reverseBuffer;
			return filePos;
		}

		TPtr8 bufPtr((unsigned char *)walkBuf, 1);
		if ((rfile.Read(bufPtr, 1)) != KErrNone)
		{
			LOGF("read failed - eof?\n");
			delete [] reverseBuffer;
			return filePos;
		}
		//LOGF("readed: i=%d fpos: %d %c\n", i, filePos, reverseBuffer[i]);
		if (reverseBuffer[i] == '\n')
		{
			if (!newLineFound)
			{
				delete [] reverseBuffer;
				filePos++;
				return ERetMyk;
			}
			break;
		}
		if (reverseBuffer[i] == '\r')
		{
			filePos--;
			continue;
		}
		i++;
		walkBuf++;
		filePos--;
	}
	// last char
	filePos++;

	x = i-1;
	for (j = 0; j < i; j++)
	{
		buf[j] = reverseBuffer[x--];
	}
	if (j < maxChars)
	{
		buf[j++] = '\n';
	}

	delete [] reverseBuffer;
	return filePos;


}

TInt CFileLoader::ReadOneLine(char *buf, TInt &filePos, TInt maxChars)
{
	char *walkBuf;
	int i;

	buf[0] = '\n';
	for (i = 1; i < maxChars; i++)
	{
		buf[i] = 0x00;
	}

	walkBuf = buf;

	LOGF("readOneLine: fpos: %d\n", filePos);
	if ((rfile.Seek(TSeek(ESeekStart), filePos)) != KErrNone)
	{
		LOGF("seek failed\n");
		return filePos;
	}

	for (i = 0; i < maxChars; )
	{
		if (filePos >= fileSize)
		{
			LOGF("eof!\n");
			buf[i] = '\n';
			buf[i+1] = 0x00;			// REMOVE THIS IT'S ONLY FOR DEBUG!
			break;
		}

		TPtr8 bufPtr((unsigned char *)walkBuf, 1);
		if ((rfile.Read(bufPtr, 1)) != KErrNone)
		{
			LOGF("read failed - eof?\n");
			return filePos;
		}
		if (buf[i] == '\n')
		{
			filePos++;
			break;
		}
		if (buf[i] == '\r')
		{
			filePos++;
			continue;
		}
		i++;
		walkBuf++;
		filePos++;
	}

	return filePos;


}
							   

//TInt CFileLoader::Seek(

TInt CFileLoader::Close()
{
	if (fileOpened)
	{
		LOGF("closing file\n");
		rfile.Close();
	}
	LOGF("Close(): file not opened\n");
	return KErrNone;
}


void CFileLoader::ReadIniFile(TInt &viewMode, TFileName &lastFileName)
{
	/*
	TFileName fName;

	fName.Copy(_L(""));
	
	viewMode = EViewPlain;
	lastFileName = fName;
	return;
	*/

	
	RFile rftemp;

	LOGF("ReadIniFile: how'dyado?\n");


	if (rftemp.Open(fs, iniFileName, EFileRead|EFileShareAny) == KErrNone)
	{
		LOGF("ReadIniFile: i'm in\n");

		unsigned char buffer[162] = {0x00};
		unsigned char *walkBuf;

		TPtr8 bufPtr(buffer, 162);
		
		if (rftemp.Read(bufPtr, 162) == KErrNone)
		{

			LOGF("ReadIniFile: got the buffer");
			walkBuf = buffer;

			walkBuf++;	// H
			walkBuf++;	// V	-- hvini
			walkBuf++;	//		-- version
			walkBuf++;	//		-- version2

			switch (*walkBuf++)
			{
			default:
			case 0x00:
				viewMode = EViewPlain;
				break;

			case 0x01:
				viewMode = EViewBinary;
				break;

			}

			// size
			unsigned char fnameSize = *walkBuf++;

			TPtr8 bufPtr2((unsigned char *)walkBuf, fnameSize, 128);
			
			TFileName fName;
			fName.Copy(bufPtr2);
			
			LOGF("ReadIniFile: got the file name:\n");
			LOGD(&fName);
			LOGF_noTimeStamp("\nShiie!\n");
			
			// the    
			lastFileName = fName;
			//         would      ---?

			LOGF("ReadIniFile: goin' wendy\n");
			rftemp.Close();
			return;
		}
	}

	LOGF("ReadIniFile: not happened, setting delta 0\n");
	TFileName emptyFileName;
	_LIT(empty, "");

	emptyFileName.Copy(empty);

	// the 
	lastFileName = emptyFileName;
	//       will not           ;-)

	viewMode  = EViewPlain;

	LOGF("ReadIniFile: goin' wendy yo?\n");
	rftemp.Close();
	LOGF("ReadIniFile: how about rewrite?\n");
	WriteIniFile(EViewPlain, emptyFileName);
	return;	
}

void CFileLoader::WriteIniFile(TInt viewMode, TFileName lastFileName)
{
	int i;
	RFile fp;
	TInt length;


	LOGF("WriteIniFile: eh eh!\n");

	//_LIT(constIniFileName, "C:\\SYSTEM\\APPS\\HView\\HView.ini");	//SYSTEM\\APPS\\HVIEW

	if (fp.Replace(fs, iniFileName, EFileShareAny|EFileWrite) != KErrNone)
	{	
		LOGF("ini not opened for write :(\n");
		LOGF("try to make new directory\n");
		fs.MkDirAll(iniFileName);
		if (fp.Replace(fs, iniFileName, EFileShareAny|EFileWrite) != KErrNone)
		{	
			LOGF("this didn't help, no ini file at all, see ya\n");
			return;
		}
	}

	LOGF("ini file opened for write;\n");

	unsigned char *buffer;
	unsigned char *walkBuf;

	buffer = new unsigned char[256];

	for (i = 0; i < 256; i++)
		buffer[i] = 0x00;

	walkBuf = buffer;

	*walkBuf++ = (unsigned char)'H';	//marker
	*walkBuf++ = (unsigned char)'V';
	*walkBuf++ = 0x04;	//version
	*walkBuf++ = 0x01;	//

	*walkBuf++ = ((viewMode == EViewPlain)
		? 
		(unsigned char)0x00 : (unsigned char)0x01);

	
	*walkBuf++ = (unsigned char)(lastFileName.Size()/2);

	TBuf8<128> buf8;
	buf8.Copy(lastFileName);
	
	unsigned char *fnameBuf;
	fnameBuf = (unsigned char *)buf8.Ptr();


	for (i = 0; i < 128; i++)
	{
		*walkBuf++ = fnameBuf[i];
	}

	TPtr8 bufPtr((unsigned char *)buffer, 162, 162);
	
	length = 128;

	if (fp.Write(bufPtr) == KErrNone)
	{
		LOGF("WriteIniFile: fly just have sat on the disk\n");
	}
	else
	{
		LOGF("WriteIniFile: unable to catch the fly!\n");
	}
	fp.Close();
	delete buffer;
	return;	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看不卡av| 欧美日韩一区二区三区高清| 亚洲一区二区在线播放相泽| 日韩午夜精品电影| 99久久夜色精品国产网站| 日本va欧美va瓶| 一区二区三区四区国产精品| 精品国产三级电影在线观看| 欧美日韩国产在线观看| 成人的网站免费观看| 久久精品国产久精国产| 亚洲一区二区四区蜜桃| 亚洲同性同志一二三专区| 久久久久久久久蜜桃| 欧美一区二区精品在线| 色激情天天射综合网| 成人激情动漫在线观看| 狠狠色狠狠色合久久伊人| 午夜在线成人av| 亚洲欧美国产77777| 国产亚洲1区2区3区| 欧美精品免费视频| 日本精品免费观看高清观看| 不卡一区在线观看| 国产一区二区视频在线| 老色鬼精品视频在线观看播放| 依依成人综合视频| 亚洲少妇屁股交4| 欧美国产综合一区二区| 精品精品欲导航| 欧美精品高清视频| 精品视频123区在线观看| 99精品国产视频| 成人教育av在线| 国产成人av电影| 高清不卡在线观看| 国产69精品一区二区亚洲孕妇 | 久久精品国产网站| 美女一区二区三区在线观看| 午夜不卡av免费| 五月婷婷另类国产| 日韩精品电影在线| 久久精品99久久久| 紧缚奴在线一区二区三区| 久久激情综合网| 精品亚洲欧美一区| 国产精一品亚洲二区在线视频| 久久99久久99小草精品免视看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 精品污污网站免费看| 欧美日韩一区二区三区在线看| 欧美色视频一区| 欧美男同性恋视频网站| 日韩欧美国产麻豆| 久久综合九色综合久久久精品综合| 日韩欧美电影一区| 国产色产综合产在线视频| 欧美国产禁国产网站cc| 亚洲视频免费看| 日韩中文字幕av电影| 久久se这里有精品| 国产不卡在线视频| 91免费看`日韩一区二区| 欧美性高清videossexo| 欧美一激情一区二区三区| 久久色成人在线| 中文字幕一区免费在线观看| 亚洲一区二区三区视频在线播放| 天天av天天翘天天综合网色鬼国产| 国产精品私人自拍| 欧美精品色一区二区三区| 91国产福利在线| 精品视频在线视频| 日韩欧美成人一区| 国产精品久99| 亚洲一级二级三级在线免费观看| 日本sm残虐另类| 国产.欧美.日韩| 欧美视频一区二区三区| 日韩免费视频一区| 国产精品国产馆在线真实露脸| 亚洲一卡二卡三卡四卡无卡久久| 日韩精品久久久久久| 国产一区二区三区av电影| 色综合久久久久综合99| 日韩免费电影网站| 亚洲欧美二区三区| 国产一二三精品| 欧美男生操女生| 国产精品动漫网站| 久久99国产乱子伦精品免费| 91小视频在线观看| www国产成人| 亚洲国产一区在线观看| 国产福利精品一区| 这里只有精品电影| 亚洲精品视频一区二区| 国产精品综合一区二区三区| 欧美三级一区二区| 国产精品网站在线| 六月丁香婷婷久久| 欧美在线免费播放| 欧美国产精品中文字幕| 久久精品国产秦先生| 欧美日产国产精品| 亚洲色图一区二区三区| 国产精品资源在线| 欧美一区午夜视频在线观看| 亚洲欧美偷拍另类a∨色屁股| 麻豆精品国产91久久久久久| 日本精品视频一区二区三区| 国产精品久久久久三级| 精品一区二区久久久| 欧美日韩视频在线第一区| 国产精品久久久久久户外露出 | 免费xxxx性欧美18vr| 欧美中文字幕久久| 亚洲精品一二三区| 成人国产精品免费观看视频| 久久综合丝袜日本网| 麻豆成人综合网| 91.com在线观看| 夜夜嗨av一区二区三区网页| 成人一二三区视频| 欧美激情一区二区三区在线| 国产一区在线看| 久久久久久99久久久精品网站| 男女性色大片免费观看一区二区 | 欧美一区二区三级| 亚洲成人自拍一区| 欧美性极品少妇| 亚洲第一av色| 欧美群妇大交群中文字幕| 亚洲综合视频网| 欧美三级蜜桃2在线观看| 亚洲欧美日韩一区| 色88888久久久久久影院按摩| 亚洲精品视频免费看| 色婷婷av一区二区三区之一色屋| 国产精品护士白丝一区av| 成人爱爱电影网址| 中文字幕日韩av资源站| 91热门视频在线观看| 一区二区久久久久| 欧美日韩在线播放三区四区| 五月婷婷另类国产| 日韩精品专区在线影院观看 | 欧美性大战久久久久久久| 一区二区三区欧美| 欧美猛男男办公室激情| 日本亚洲三级在线| 精品国产免费一区二区三区四区| 国产在线国偷精品免费看| 日本一区二区三区dvd视频在线| 粉嫩蜜臀av国产精品网站| 亚洲人吸女人奶水| 欧美日韩精品三区| 国产自产高清不卡| 国产精品不卡在线观看| 色丁香久综合在线久综合在线观看| 一级女性全黄久久生活片免费| 欧美区视频在线观看| 精品一区二区三区免费观看| 亚洲国产精品成人综合| 99re这里只有精品首页| 亚洲国产色一区| 精品日韩一区二区三区 | 91麻豆精品国产91久久久久久久久 | 日韩免费看网站| youjizz国产精品| 午夜av电影一区| 国产亚洲欧洲一区高清在线观看| 91小视频在线| 蜜桃视频一区二区| 国产精品国产三级国产a| 欧美日韩不卡一区二区| 国产成人综合精品三级| 亚洲欧美日韩中文播放| 日韩精品中文字幕一区二区三区 | 一区二区三区在线播| 欧美一区午夜视频在线观看| 成人爽a毛片一区二区免费| 亚洲福利视频一区| 国产亚洲人成网站| 欧美日本一区二区在线观看| 国产黑丝在线一区二区三区| 性做久久久久久久久| 国产午夜精品久久久久久久| 欧美日韩你懂的| 成人中文字幕电影| 免费成人在线影院| 亚洲激情图片qvod| 久久久久久久综合色一本| 欧美色偷偷大香| 成人精品鲁一区一区二区| 麻豆91精品91久久久的内涵| 亚洲免费资源在线播放| 久久久久9999亚洲精品| 91精品国产综合久久蜜臀| 99国产精品久久久久|