本文整理汇总了C++中QFile::getChar方法的典型用法代码示例。如果您正苦于以下问题:C++ QFile::getChar方法的具体用法?C++ QFile::getChar怎么用?C++ QFile::getChar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QFile
的用法示例。
在下文中一共展示了QFile::getChar方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get4
int get4(QFile& file) {
char ch;
file.getChar(&ch);
int res = ch & 0xff;
file.getChar(&ch);
res |= (ch << 8);
file.getChar(&ch);
res |= (ch << 16);
file.getChar(&ch);
res |= (ch << 24);
return res;
}
示例2: compressFile
/**OK
* Comprime il file fileName, nell'oggetto zip, con il nome fileDest.
*
* La funzione fallisce se:
* * zip==NULL;
* * l'oggetto zip è stato aperto in una modalità non compatibile con l'aggiunta di file;
* * non è possibile aprire il file d'origine;
* * non è possibile creare il file all'interno dell'oggetto zip;
* * si è rilevato un errore nella copia dei dati;
* * non è stato possibile chiudere il file all'interno dell'oggetto zip;
*/
bool JlCompress::compressFile(QuaZip* zip, QString fileName, QString fileDest) {
// zip: oggetto dove aggiungere il file
// fileName: nome del file reale
// fileDest: nome del file all'interno del file compresso
// Controllo l'apertura dello zip
if (!zip) return false;
if (zip->getMode()!=QuaZip::mdCreate &&
zip->getMode()!=QuaZip::mdAppend &&
zip->getMode()!=QuaZip::mdAdd) return false;
// Apro il file originale
QFile inFile;
inFile.setFileName(fileName);
if(!inFile.open(QIODevice::ReadOnly)) return false;
// Apro il file risulato
QuaZipFile outFile(zip);
if(!outFile.open(QIODevice::WriteOnly, QuaZipNewInfo(fileDest, inFile.fileName()))) return false;
// Copio i dati
char c;
while(inFile.getChar(&c)&&outFile.putChar(c));
if(outFile.getZipError()!=UNZ_OK) return false;
// Chiudo i file
outFile.close();
if (outFile.getZipError()!=UNZ_OK) return false;
inFile.close();
return true;
}
示例3: readLayout
// ====================================================================================================================
// readLayout(): Loads the binary layout from the given *open* file.
// ====================================================================================================================
void MainWindow::readLayout(QFile& file)
{
uchar geo_size;
QByteArray geo_data;
QByteArray layout_data;
bool ok = file.getChar((char*)&geo_size);
if (ok)
{
geo_data = file.read(geo_size);
ok = geo_data.size() == geo_size;
}
if (ok)
{
layout_data = file.readAll();
ok = layout_data.size() > 0;
}
if (ok)
ok = restoreGeometry(geo_data);
if (ok)
ok = restoreState(layout_data);
if (!ok)
{
QString msg = tr("Error reading %1").arg(file.fileName());
QMessageBox::warning(this, tr("Error"), msg);
return;
}
}
示例4: QThread
Replayer::Replayer(QObject *parent, const QString &filename)
: QThread(parent), m_commandSeriesCounter(1),
filename(filename), speed(1.0), playing(true)
{
QIODevice *device = NULL;
if (filename.endsWith(".png")) {
QByteArray *data = new QByteArray(PNG2TXT(filename));
device = new QBuffer(data);
} else if (filename.endsWith(".qsgs")) {
QFile *file = new QFile(filename);
if (file->open(QFile::ReadOnly)) {
char header;
file->getChar(&header);
if (header == '\0') {
QByteArray content = file->readAll();
delete file;
QByteArray *data = new QByteArray(qUncompress(content));
device = new QBuffer(data);
} else {
file->close();
device = file;
}
} else {
return;
}
}
if (device == NULL)
return;
if (!device->open(QIODevice::ReadOnly | QIODevice::Text))
return;
while (!device->atEnd()) {
QByteArray line = device->readLine();
int split = line.indexOf(' ');
Pair pair;
pair.elapsed = line.left(split).toInt();
pair.cmd = line.mid(split + 1);
pairs << pair;
}
delete device;
int time_offset = 0;
pair_offset = 0;
foreach (const Pair &pair, pairs) {
Packet packet;
if (packet.parse(pair.cmd)) {
if (packet.getCommandType() == S_COMMAND_START_IN_X_SECONDS) {
time_offset = pair.elapsed;
break;
}
}
pair_offset++;
}
示例5: read_ASCIIZ
QString read_ASCIIZ( QFile &src)
{
char name[1000];
int i = 0;
unsigned char c = 0;
while (src.getChar((char*)&c) && c != 0)
name[ i++ ] = c;
name[ i ] = 0;
return QString(name);
}
示例6: save
bool Project::save()
{
saveOpenTexts();
serializeConfigurationXml();
// indebted to: http://stackoverflow.com/questions/2598117/zipping-a-folder-file-using-qt
QuaZip zip(mProjectPath);
QuaZipFile outFile(&zip);
if (!zip.open(QuaZip::mdCreate))
{
qWarning() << "zip.open()" << zip.getZipError();
return false;
}
char c;
QFile inFile;
QDir tempDir = getTempDir();
tempDir.setNameFilters(QStringList("*"));
QStringList files = tempDir.entryList(QDir::Files,QDir::Name);
for(int i=0; i<files.count(); i++)
{
inFile.setFileName( tempDir.absoluteFilePath(files.at(i)) );
if( !inFile.open(QIODevice::ReadOnly))
{
qWarning() << inFile.errorString();
return false;
}
if( !outFile.open(QIODevice::WriteOnly, QuaZipNewInfo(files.at(i) , tempDir.absoluteFilePath(files.at(i)) )))
{
qWarning() << outFile.errorString();
return false;
}
while (inFile.getChar(&c) && outFile.putChar(c));
if (outFile.getZipError() != UNZ_OK)
{
qWarning() << outFile.getZipError();
return false;
}
outFile.close();
if (outFile.getZipError() != UNZ_OK)
{
qWarning() << outFile.getZipError();
return false;
}
inFile.close();
}
mChanged = false;
return true;
}
示例7: compress
bool KTPackageHandler::compress(QuaZip *zip, const QString &path)
{
QFile inFile;
QuaZipFile outFile(zip);
char c;
QFileInfoList files= QDir(path).entryInfoList();
foreach(QFileInfo file, files)
{
QString filePath = path+"/"+file.fileName();
if ( file.fileName().startsWith(".") ) continue;
if ( file.isDir() )
{
compress(zip, file.path()+"/"+file.fileName());
continue;
}
inFile.setFileName(filePath);
if(!inFile.open(QIODevice::ReadOnly))
{
dError() << "Error opening file " << inFile.fileName() << " : " << inFile.errorString();
return false;
}
if(!outFile.open(QIODevice::WriteOnly, QuaZipNewInfo(stripRepositoryFromPath(filePath), stripRepositoryFromPath(filePath) )))
{
return false;
}
while(inFile.getChar(&c) && outFile.putChar(c));
if(outFile.getZipError()!=UNZ_OK)
{
return false;
}
outFile.close();
if(outFile.getZipError()!=UNZ_OK)
{
return false;
}
inFile.close();
}
示例8: zipDir
void QZip::zipDir(QuaZipFile &outFile,const QString &zipPath,const QString &zipTPath){
QDir dir(zipPath);
dir.setCurrent(zipPath);
QFileInfoList files=dir.entryInfoList();
QFile inFile;
char c;
foreach(QFileInfo file, files) {
if(file.isDir()){
if(!file.absoluteFilePath().endsWith(".")){
QString zipDirecName = zipTPath==""?file.fileName():zipTPath+"\\"+file.fileName();
zipDir(outFile,file.absoluteFilePath(),zipDirecName);
dir.setCurrent(zipPath);
}
continue;//
}
inFile.setFileName(file.fileName());
if(!inFile.open(QIODevice::ReadOnly)) {
qWarning("testCreate(): inFile.open(): %s", inFile.errorString().toLocal8Bit().constData());
return;
}
QString zipDirName = zipTPath==""?inFile.fileName():zipTPath+"\\"+inFile.fileName();
if(!outFile.open(QIODevice::WriteOnly, QuaZipNewInfo(zipDirName, inFile.fileName()))) {
qWarning("testCreate(): outFile.open(): %d", outFile.getZipError());
return;
}
while(inFile.getChar(&c)&&outFile.putChar(c));
if(outFile.getZipError()!=UNZ_OK) {
qWarning("testCreate(): outFile.putChar(): %d", outFile.getZipError());
return;
}
outFile.close();
if(outFile.getZipError()!=UNZ_OK) {
qWarning("testCreate(): outFile.close(): %d", outFile.getZipError());
return;
}
inFile.close();
}
}
示例9: read_color_chunk
void read_color_chunk( float color[], QFile &src )
{
TA3D_3DS_CHUNK_DATA chunk;
src.read( (char*)&chunk.ID, 2 );
src.read( (char*)&chunk.length, 4 );
switch( chunk.ID )
{
case COL_RGB:
case COL_RGB2:
src.read( (char*)color, sizeof( float ) * 3 );
break;
case COL_TRU:
case COL_TRU2:
for( int i = 0 ; i < 3 ;i++ )
{
unsigned char c;
src.getChar((char*)&c);
color[ i ] = c / 255.0f;
}
break;
default:
src.read( chunk.length - 6 );
};
}
示例10: next
inline int KFileReaderPrivate::next()
{
if (!m_file.getChar(&m_currChar))
return KFileReader::EndOfFile;
return m_currChar;
}