本文整理汇总了C++中QFile::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ QFile::reset方法的具体用法?C++ QFile::reset怎么用?C++ QFile::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QFile
的用法示例。
在下文中一共展示了QFile::reset方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checkFile_CDDA
bool AnalyzeTask::checkFile_CDDA(QFile &file)
{
file.reset();
QByteArray data = file.read(128);
int i = data.indexOf("RIFF");
int j = data.indexOf("CDDA");
int k = data.indexOf("fmt ");
return ((i >= 0) && (j >= 0) && (k >= 0) && (k > j) && (j > i));
}
示例2: qt_mac_loadMimeRegistry
static void qt_mac_loadMimeRegistry(QFile &file, QMap<QString, int> ®istry, int &max)
{
file.reset();
QTextStream stream(&file);
while(!stream.atEnd()) {
QString mime = stream.readLine();
int mactype = stream.readLine().toInt();
if(mactype > max)
max = mactype;
registry.insert(mime, mactype);
}
}
示例3: saveAs
void ZGui::saveAs ( const QString fileName, bool save )
{
if ( (access(fileName.utf8(),0) == 0) && !save )
{
QString sBody = lng->getString("REWRITE").arg ( getFileName(fileName) );
ZMessageDlg * pConfirmation = new ZMessageDlg ( lng->getString("SAVING"), sBody, ( ZMessageDlg::MessageDlgType )1, 0, this, "2", true, 0 );
if ( pConfirmation->exec() )
{
ZMessageDlg * pMessage = new ZMessageDlg ( lng->getString("SAVING"), lng->getString("CHANGED"), ( ZMessageDlg::MessageDlgType )1, 0, this, "saveas", true, 0 );
pMessage->show();
delete pMessage;
}
delete pConfirmation;
}
if ( !(access(getFilePath(fileName).utf8(),02) == 0) ) // Check save to ReadOnly FS
{
ZMessageDlg * pWarning = new ZMessageDlg ( lng->getString("ERROR"), "Do not save to ReadOnly FS!", ( ZMessageDlg::MessageDlgType )2, 0, this, "saveas", true, 0 );
pWarning->exec();
delete pWarning;
return;
}
if ( access(fileName.utf8(),0) == 0 ) //remove file for rewrite
remove(fileName.utf8());
QFile file ( fileName );
if ( !file.open ( IO_WriteOnly | IO_Truncate ) )
{
ZMessageDlg * pWarning = new ZMessageDlg ( lng->getString("ERROR"), lng->getString("FILE_SAVING_FAILED"), ( ZMessageDlg::MessageDlgType )2, 0, this, "saveas", true, 0 );
pWarning->exec();
delete pWarning;
return;
}
QTextCodec* codec = codecByLocalId(textCode);
file.reset();
QCString str = codec->fromUnicode( edit->text() );
file.writeBlock( str, str.length() );
char endFile[]={0};
file.writeBlock( endFile, sizeof(endFile) );
file.flush();
file.close();
ZMessageDlg * pMessage = new ZMessageDlg ( lng->getString("SAVING"), lng->getString("FILE_SAVING_SUCCESS"), ( ZMessageDlg::MessageDlgType ) 2, 0, this, "saveas", true, 0 );
pMessage->exec();
delete pMessage;
}
示例4: load
void ZGui::load ( const QString fileName, bool AutoCodec )
{
toLog("load ("+fileName+")");
QFile file ( fileName );
if ( file.open ( IO_ReadWrite ) )//IO_ReadOnly ) )
{
//Block update
edit->blockSignals(true);
edit->setAutoUpdate(false);
//Set def editor
edit->clear();
edit->setText("");
//Detect codec
if ( AutoCodec )
{
//Reset all checked
for (int i=0; i<CODEC_COUNT;i++)
CodeMenu->setItemChecked(i,false);
//Read data for detect
char data[10000];
int size = file.readBlock(data, sizeof(data));
file.reset();
textCode = detectCodec(data, size);
//Check codec
CodeMenu->setItemChecked(textCode, true);
}
toLog("\tload text");
//Load file
char data[ file.size() ];
file.readBlock(data, sizeof(data));
QTextCodec* codec = codecByLocalId(textCode);
toLog("\tset text");
edit->setText( codec->toUnicode( data ) );
toLog("\tclose file");
file.close();
//Unblock update
edit->blockSignals(false);
edit->setAutoUpdate(true);
#ifdef MDI
setMainWidgetTitle(sFileName);
buildDlgMenu();
#endif
toLog("end load");
}
}
示例5: f
AddBrass::AddBrass(QWidget *parent) :
QWidget(parent),
ui(new Ui::AddBrass)
{
db_ = nullptr;
selectImage_ = nullptr;
ui->setupUi(this);
connexion();
remplirPays();
ui->lbImageBrasserie->setMaximumSize(250,250);
QFile f (":/btn/resources/css/btn_ajouter.css");
if(f.open((QIODevice::ReadOnly))){
ui->ajouterBrasserie->setStyleSheet(f.readAll());
f.reset();
}
f.setFileName(":/btn/resources/css/btn_addImage.css");
if(f.open(QIODevice::ReadOnly)){
ui->btAjoutImageBrasserie->setStyleSheet(f.readAll());
f.reset();
}
}
示例6: errorHandling
void MetaInfoParser::errorHandling(QXmlStreamReader &reader, QFile &file)
{
if (!reader.hasError())
return;
qDebug() << QString("Error at %1, %2:%3: %4")
.arg(file.fileName())
.arg(reader.lineNumber())
.arg(reader.columnNumber())
.arg(reader.errorString());
file.reset();
QString fileString = file.readAll();
QString snippetString;
int lineCount = 0;
int position = reader.characterOffset();
while (position >= 0)
{
if (fileString[position] == '\n') {
if (lineCount > 3)
break;
lineCount++;
}
snippetString.prepend(fileString[position]);
position--;
}
lineCount = 0;
position = reader.characterOffset();
while (position >= 0)
{
position++;
if (fileString[position] == '\n') {
if (lineCount > 1)
break;
lineCount++;
}
snippetString.append(fileString[position]);
}
qDebug() << snippetString;
}
示例7: detectFileCodec
bool UtilsCode::detectFileCodec()
{
QFile file ( mFile );
if ( file.open ( IO_ReadWrite ) )
{
//cout<<"===== file open ok ====="<<endl;
char data[10000];
int size = file.readBlock(data, sizeof(data));
file.reset();
int id = detectCodec(data, size);
//cout<<"########## code id is "<<id<<" ########"<<endl;
mTextCodec = codecByLocalId(id);
file.close();
return true;
}
return false;
}
示例8: fileHash
static QByteArray fileHash(QFile &file)
{
QByteArray hash = QByteArray::fromHex(g_seed);
QByteArray salt = QByteArray::fromHex(g_salt);
if(file.isOpen() && file.reset())
{
QByteArray data = file.readAll();
QCryptographicHash sha(QCryptographicHash::Sha1);
QCryptographicHash md5(QCryptographicHash::Md5);
for(int r = 0; r < 8; r++)
{
sha.reset(); md5.reset();
sha.addData(hash); md5.addData(hash);
sha.addData(data); md5.addData(data);
sha.addData(salt); md5.addData(salt);
hash = sha.result() + md5.result();
}
}
return hash;
}
示例9: parsePlaylist_pls
bool PlaylistImporter::parsePlaylist_pls(QFile &data, QStringList &fileList, const QDir &baseDir, const QDir &rootDir)
{
QRegExp plsEntry("File(\\d+)=(.+)", Qt::CaseInsensitive);
const QTextCodec *codec = QTextCodec::codecForName("System");
bool foundAtLeastOneFile = false;
data.reset();
while(!data.atEnd())
{
QString filePath[3];
QByteArray line = data.readLine();
filePath[0] = QString(QDir::fromNativeSeparators(codec->toUnicode(line.constData(), line.size()).trimmed()));
filePath[1] = QString(QDir::fromNativeSeparators(QString::fromLatin1(line.constData(), line.size()).trimmed()));
filePath[2] = QString(QDir::fromNativeSeparators(QString::fromUtf8(line.constData(), line.size()).trimmed()));
for(size_t i = 0; i < 3; i++)
{
if(!filePath[i].contains(QChar(QChar::ReplacementCharacter)))
{
if(plsEntry.indexIn(filePath[i]) >= 0)
{
QFileInfo filename(QDir::fromNativeSeparators(plsEntry.cap(2)).trimmed());
filename.setCaching(false);
fixFilePath(filename, baseDir, rootDir);
if(filename.exists() && filename.isFile())
{
if(isPlaylist(filename.canonicalFilePath()) == notPlaylist)
{
fileList << filename.canonicalFilePath();
}
foundAtLeastOneFile = true;
break;
}
}
}
}
}
//If we did not find any files yet, try UTF-16 now
if(!foundAtLeastOneFile)
{
const char* codecs[2] = {"UTF-16LE", "UTF-16BE"};
for(size_t i = 0; i < 2; i++)
{
QTextStream stream(&data);
stream.setAutoDetectUnicode(false);
stream.setCodec(codecs[i]);
stream.seek(0i64);
while(!stream.atEnd())
{
QString filePath = stream.readLine().trimmed();
if(!filePath.contains(QChar(QChar::ReplacementCharacter)))
{
if(plsEntry.indexIn(filePath) >= 0)
{
QFileInfo filename(QDir::fromNativeSeparators(plsEntry.cap(2)).trimmed());
filename.setCaching(false);
fixFilePath(filename, baseDir, rootDir);
if(filename.exists() && filename.isFile())
{
if(isPlaylist(filename.canonicalFilePath()) == notPlaylist)
{
fileList << filename.canonicalFilePath();
}
foundAtLeastOneFile = true;
}
}
}
}
if(foundAtLeastOneFile) break;
}
}
return foundAtLeastOneFile;
}
示例10: filename
bool PlaylistImporter::parsePlaylist_m3u(QFile &data, QStringList &fileList, const QDir &baseDir, const QDir &rootDir)
{
const QTextCodec *codec = QTextCodec::codecForName("System");
const bool preferUTF8 = data.fileName().endsWith(".m3u8", Qt::CaseInsensitive);
bool foundAtLeastOneFile = false;
data.reset();
while(!data.atEnd())
{
QString filePath[3];
QByteArray line = data.readLine();
if(preferUTF8)
{
filePath[0] = QString(QDir::fromNativeSeparators(QString::fromUtf8(line.constData(), line.size()).trimmed()));
filePath[1] = QString(QDir::fromNativeSeparators(codec->toUnicode(line.constData(), line.size()).trimmed()));
filePath[2] = QString(QDir::fromNativeSeparators(QString::fromLatin1(line.constData(), line.size()).trimmed()));
}
else
{
filePath[0] = QString(QDir::fromNativeSeparators(codec->toUnicode(line.constData(), line.size()).trimmed()));
filePath[1] = QString(QDir::fromNativeSeparators(QString::fromLatin1(line.constData(), line.size()).trimmed()));
filePath[2] = QString(QDir::fromNativeSeparators(QString::fromUtf8(line.constData(), line.size()).trimmed()));
}
for(size_t i = 0; i < 3; i++)
{
if(!(filePath[i].isEmpty() || filePath[i].startsWith("#") || filePath[i].contains(QChar(QChar::ReplacementCharacter))))
{
QFileInfo filename(filePath[i]);
filename.setCaching(false);
fixFilePath(filename, baseDir, rootDir);
if(filename.exists() && filename.isFile())
{
qDebug("Found: \"%s\"", filePath[i].toUtf8().constData());
if(isPlaylist(filename.canonicalFilePath()) == notPlaylist)
{
fileList << filename.canonicalFilePath();
}
foundAtLeastOneFile = true;
break;
}
}
}
}
//If we did not find any files yet, try UTF-16 now
if(!foundAtLeastOneFile)
{
const char* codecs[2] = {"UTF-16LE", "UTF-16BE"};
for(size_t i = 0; i < 2; i++)
{
QTextStream stream(&data);
stream.setAutoDetectUnicode(false);
stream.setCodec(codecs[i]);
stream.seek(0i64);
while(!stream.atEnd())
{
QString filePath = stream.readLine().trimmed();
if(!(filePath.isEmpty() || filePath.startsWith("#") || filePath.contains(QChar(QChar::ReplacementCharacter))))
{
QFileInfo filename(filePath);
filename.setCaching(false);
fixFilePath(filename, baseDir, rootDir);
if(filename.exists() && filename.isFile())
{
if(isPlaylist(filename.canonicalFilePath()) == notPlaylist)
{
fileList << filename.canonicalFilePath();
}
foundAtLeastOneFile = true;
}
}
}
if(foundAtLeastOneFile) break;
}
}
return true;
}
示例11: itemDropped
//returns true if the item has been dropped successfully
void KWalletEntryList::itemDropped(QDropEvent *e, QTreeWidgetItem *item) {
bool ok = true;
bool isEntry;
QFile file;
QDataStream *ds;
KWalletEntryList *el = 0L;
QTreeWidgetItem *sel = 0L;
//detect if we are dragging from kwallet itself
kDebug() << e->source() << e->source()->metaObject()->className();
if (e->source() && !strcmp(e->source()->metaObject()->className(), "KWalletEntryList")) {
el = dynamic_cast<KWalletEntryList*>(e->source());
if (!el) {
KMessageBox::error(this, i18n("An unexpected error occurred trying to drop the item"));
} else
sel = el->currentItem();
}
const QMimeData *em = e->mimeData();
if (em->hasFormat(QLatin1String("application/x-kwallet-entry"))) {
//do nothing if we are in the same folder
if (sel && sel->parent()->parent() ==
KWalletEntryList::getItemFolder(item)) {
e->ignore();
return;
}
isEntry = true;
QByteArray data = em->data(QLatin1String("application/x-kwallet-entry"));
if (data.isEmpty()) {
e->ignore();
return;
}
ds = new QDataStream(&data, QIODevice::ReadOnly);
} else if (em->hasFormat(QLatin1String("application/x-kwallet-folder"))) {
//do nothing if we are in the same wallet
if (this == el) {
e->ignore();
return;
}
isEntry = false;
QByteArray data = em->data(QLatin1String("application/x-kwallet-folder"));
if (data.isEmpty()) {
e->ignore();
return;
}
ds = new QDataStream(&data, QIODevice::ReadOnly);
} else if (em->hasFormat(QLatin1String("text/uri-list"))) {
const QList<QUrl> urls = e->mimeData()->urls();
if (urls.isEmpty()) {
e->ignore();
return;
}
KUrl u(urls.first());
if (u.fileName().isEmpty()) {
e->ignore();
return;
}
QString tmpFile;
if (KIO::NetAccess::download(u, tmpFile, 0L)) {
file.setFileName(tmpFile);
file.open(QIODevice::ReadOnly);
ds = new QDataStream(&file);
//check magic to discover mime type
quint32 magic;
(*ds) >> magic;
delete ds;
if (magic == KWALLETENTRYMAGIC) {
isEntry = true;
} else if (magic == KWALLETFOLDERMAGIC) {
isEntry = false;
} else {
kDebug() << "bad magic" ;
e->ignore();
return;
}
//set the file back to the beginning
file.reset();
ds = new QDataStream(&file);
KIO::NetAccess::removeTempFile(tmpFile);
} else {
示例12: filePick
bool filePick()
{
//Read XSD
file.setFileName("FACTORY.XSD");
if (!readFile(file.fileName())) return false;
QXmlSchema schema;
schema.load(&file);
if (!schema.isValid())
{
QMessageBox::information(NULL, QWidget::tr("XSDRead")
,QWidget::tr("This is not a valid XSD File!"));
return false;
}
file.close();
file.setFileName("FACTORY.XML");
if (!readFile(file.fileName())) return false;
//DOM Read-In
QString errorStr;
int errorLine, errorColumn;
if (!doc.setContent(&file, true, &errorStr, &errorLine,
&errorColumn)) {
QMessageBox::information(NULL, QWidget::tr("XSDRead"),
QWidget::tr("Parse error at line %1, column %2:\n%3")
.arg(errorLine)
.arg(errorColumn)
.arg(errorStr));
return false;
}
//Reset the file pointer
file.reset();
//XSD Validator
QXmlSchemaValidator validator(schema);
if (!validator.validate(&file))
{
QMessageBox::information(NULL,QWidget::tr("XSDRead"),
QWidget::tr("This is not a valid XML File!"));
return false;
}
//building Treeroot
QDomElement node = doc.documentElement();
nodeData* temp = NULL;
Treeroot = new nodeData;
Treeroot->name = node.tagName();
QDomElement child = node.firstChildElement();
//parsing child elements (if there is)
while (!child.isNull())
{
temp = new nodeData;
Treeroot->child.append(temp);
parseElement(temp,child);
temp->parent = Treeroot;
child = child.nextSiblingElement();
}
return true;
}
示例13: parseCueFile
int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplication *application, const QTextCodec *codec)
{
cueFile.reset();
qDebug("\n[Cue Sheet Import]");
bool bForceLatin1 = false;
//Reject very large files, as parsing might take until forever
if(cueFile.size() >= 10485760i64)
{
qWarning("File is very big. Probably not a Cue Sheet. Rejecting...");
return 2;
}
//Test selected Codepage for decoding errors
qDebug("Character encoding is: %s.", codec->name().constData());
const QString replacementSymbol = QString(QChar(QChar::ReplacementCharacter));
QByteArray testData = cueFile.peek(1048576);
if((!testData.isEmpty()) && codec->toUnicode(testData.constData(), testData.size()).contains(replacementSymbol))
{
qWarning("Decoding error using selected codepage (%s). Enforcing Latin-1.", codec->name().constData());
bForceLatin1 = true;
}
testData.clear();
//Init text stream
QTextStream cueStream(&cueFile);
cueStream.setAutoDetectUnicode(false);
cueStream.setCodec(bForceLatin1 ? "latin1" : codec->name());
cueStream.seek(0i64);
//Create regular expressions
QRegExp rxFile("^FILE\\s+(\"[^\"]+\"|\\S+)\\s+(\\w+)$", Qt::CaseInsensitive);
QRegExp rxTrack("^TRACK\\s+(\\d+)\\s(\\w+)$", Qt::CaseInsensitive);
QRegExp rxIndex("^INDEX\\s+(\\d+)\\s+([0-9:]+)$", Qt::CaseInsensitive);
QRegExp rxTitle("^TITLE\\s+(\"[^\"]+\"|\\S+)$", Qt::CaseInsensitive);
QRegExp rxPerformer("^PERFORMER\\s+(\"[^\"]+\"|\\S+)$", Qt::CaseInsensitive);
QRegExp rxGenre("^REM\\s+GENRE\\s+(\"[^\"]+\"|\\S+)$", Qt::CaseInsensitive);
QRegExp rxYear("^REM\\s+DATE\\s+(\\d+)$", Qt::CaseInsensitive);
bool bPreamble = true;
bool bUnsupportedTrack = false;
CueSheetFile *currentFile = NULL;
CueSheetTrack *currentTrack = NULL;
m_albumTitle.clear();
m_albumPerformer.clear();
m_albumGenre.clear();
m_albumYear = 0;
//Loop over the Cue Sheet until all lines were processed
for(int lines = 0; lines < INT_MAX; lines++)
{
if(application)
{
application->processEvents();
if(lines < 128) Sleep(10);
}
if(cueStream.atEnd())
{
qDebug("End of Cue Sheet file.");
break;
}
QString line = cueStream.readLine().trimmed();
/* --- FILE --- */
if(rxFile.indexIn(line) >= 0)
{
qDebug("%03d File: <%s> <%s>", lines, rxFile.cap(1).toUtf8().constData(), rxFile.cap(2).toUtf8().constData());
if(currentFile)
{
if(currentTrack)
{
if(currentTrack->isValid())
{
currentFile->addTrack(currentTrack);
currentTrack = NULL;
}
else
{
LAMEXP_DELETE(currentTrack);
}
}
if(currentFile->isValid())
{
m_files.append(currentFile);
currentFile = NULL;
}
else
{
LAMEXP_DELETE(currentFile);
}
}
else
{
LAMEXP_DELETE(currentTrack);
}
if(!rxFile.cap(2).compare("WAVE", Qt::CaseInsensitive) || !rxFile.cap(2).compare("MP3", Qt::CaseInsensitive) || !rxFile.cap(2).compare("AIFF", Qt::CaseInsensitive))
//.........这里部分代码省略.........
示例14: itemDropped
//returns true if the item has been dropped successfully
void KWalletEntryList::itemDropped(QDropEvent *e, QListViewItem *item) {
bool ok = true;
bool isEntry;
QFile file;
QDataStream *ds;
KWalletEntryList *el = 0L;
QListViewItem *sel = 0L;
//detect if we are dragging from kwallet itself
if (e->source() && e->source()->parent() &&
!strcmp(e->source()->parent()->className(), "KWalletEntryList")) {
el = dynamic_cast<KWalletEntryList*>(e->source()->parent());
if (!el) {
KMessageBox::error(this, i18n("An unexpected error occurred trying to drop the item"));
} else
sel = el->selectedItem();
}
if (e->provides("application/x-kwallet-entry")) {
//do nothing if we are in the same folder
if (sel && sel->parent()->parent() ==
KWalletEntryList::getItemFolder(item)) {
e->ignore();
return;
}
isEntry = true;
QByteArray data = e->encodedData("application/x-kwallet-entry");
if (data.isEmpty()) {
e->ignore();
return;
}
ds = new QDataStream(data, IO_ReadOnly);
} else if (e->provides("application/x-kwallet-folder")) {
//do nothing if we are in the same wallet
if (this == el) {
e->ignore();
return;
}
isEntry = false;
QByteArray data = e->encodedData("application/x-kwallet-folder");
if (data.isEmpty()) {
e->ignore();
return;
}
ds = new QDataStream(data, IO_ReadOnly);
} else if (e->provides("text/uri-list")) {
QStrList urls;
QUriDrag::decode(e, urls);
if (urls.isEmpty()) {
e->ignore();
return;
}
KURL u(urls.first());
if (u.fileName().isEmpty()) {
e->ignore();
return;
}
QString tmpFile;
if (KIO::NetAccess::download(u, tmpFile, 0L)) {
file.setName(tmpFile);
file.open(IO_ReadOnly);
ds = new QDataStream(&file);
//check magic to discover mime type
Q_UINT32 magic;
(*ds) >> magic;
if (magic == KWALLETENTRYMAGIC) {
isEntry = true;
} else if (magic == KWALLETFOLDERMAGIC) {
isEntry = false;
} else {
kdDebug() << "bad magic" << endl;
e->ignore();
return;
}
delete ds;
//set the file back to the beginning
file.reset();
ds = new QDataStream(&file);
KIO::NetAccess::removeTempFile(tmpFile);
} else {