Beispiel #1
0
char *KXml::getContent(const std::string &file) {
	KFile fp;
	if (!fp.open(file.c_str(),fileRead)) {
		return NULL;
	}
	INT64 fileSize = fp.getFileSize();
	if (fileSize > 1048576) {
		return NULL;
	}
	char *buf = (char *)malloc((int)fileSize + 1);
	if (buf==NULL) {
		return NULL;
	}
	if (fp.read(buf,(int)fileSize) != (int)fileSize) {
		free(buf);
		return NULL;
	}
	buf[fileSize] = '\0';
	return buf;
	/*
	KStringBuf s;
	char buf[512];
	for (;;) {
		long readSize = fp.read(buf, sizeof(buf));
		if (readSize <= 0) {
			break;
		}
		s.write_all(buf, readSize);
		if (s.getSize()>1048576) {
			break;
		}
	}
	return s.stealString();
	*/
}