当前位置: 首页>>代码示例>>C++>>正文


C++ QByteArray::leftRef方法代码示例

本文整理汇总了C++中QByteArray::leftRef方法的典型用法代码示例。如果您正苦于以下问题:C++ QByteArray::leftRef方法的具体用法?C++ QByteArray::leftRef怎么用?C++ QByteArray::leftRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QByteArray的用法示例。


在下文中一共展示了QByteArray::leftRef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: parseFileList

void fileTransferThread::parseFileList( const QByteArray &fl ) {
	parsedSize=0;
	filesParsed=0;
	fc=0;
	allSize=0;
	currentFile=0;
	QTreeWidgetItem *item;
	QStringList finfo;
	QString path = settings->profileValue( QString("filetransfer/%1").arg(rndid) ).toString(), fname;
	memcpy(&fc, fl.leftRef(4).constData(), 4);
	for(quint32 i=0; i<fc; ++i) {
		memcpy(&fs, fl.mid(4+i*260, 4).data(), 4);
		fname=fl.mid(4+i*260+4, 256);
		finfo<<fname<<""<<""<<""<<""<<QString("%L1 kB").arg( (float)qRound( ( (float)fs/1024 )*10 )/10 )<<path<<QString("%1").arg(fs);
		item = new QTreeWidgetItem(finfo);
		item->setIcon(0, QIcon(":offline"));
//		item->setCheckState(0,Qt::Checked);
		fileMap<<item;
		emit addListItem(item);
		allSize+=fs;
		finfo.clear();
	}
	settings->removeProfileValue( QString("filetransfer/%1").arg(rndid) );
	char packet[8];
	quint32 tmp=FileListAck;
	memcpy(&packet, &tmp,4);
	tmp=0;
	memcpy(&packet[4], &tmp,4);
	socket->write(packet,sizeof(packet));
	emit updateFilesData(fc, allSize);
	requestFile();
}
开发者ID:partition,项目名称:kadu,代码行数:32,代码来源:filetransfer.cpp

示例2: sendFile

void fileTransferThread::sendFile( const QByteArray &f ) {
	cfTime = 0;
	cfParsed=0;
	if(!t->isActive())
		t->start(1000);
	memcpy(&currentFile, f.leftRef(4).constData(), 4);
	QTreeWidgetItem *it = fileMap.at(currentFile);
	current->setFileName( it->text(6)+"/"+it->text(0) );
	current->open(QIODevice::ReadOnly);

	do {
		sendFileChunk( current->read(1024) );
	} while( !current->atEnd() );
	socket->flush();
	sendFileClose();
}
开发者ID:partition,项目名称:kadu,代码行数:16,代码来源:filetransfer.cpp


注:本文中的QByteArray::leftRef方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。