MCPcopy Create free account
hub / github.com/cxasm/notepad-- / scanFileOutPut

Method scanFileOutPut

src/CmpareMode.cpp:1074–1100  ·  view source on GitHub ↗

读取文件,并输出 bytescharsNums:文件字符个数,不是文件大小 20220908 自动判断是否是二进制文件。isHexFile 是输出

Source from the content-addressed store, hash-verified

1072//bytescharsNums:文件字符个数,不是文件大小
1073//20220908 自动判断是否是二进制文件。isHexFile 是输出
1074CODE_ID CmpareMode::scanFileOutPut(CODE_ID code, QString filePath, QList<LineFileInfo>& outputLineInfoVec, int &maxLineSize, int& charsNums, bool &isHexFile)
1075{
1076 QFile* file = new QFile(filePath);
1077 file->open(QIODevice::ReadOnly);
1078 uchar* m_fileFpr = file->map(0, file->size());
1079
1080 if (code == UNKOWN)
1081 {
1082 code = getTextFileEncodeType(m_fileFpr, file->size(), filePath);
1083 }
1084
1085 //UNICODE_LE格式需要单独处理
1086 if (code == UNICODE_LE)
1087 {
1088 charsNums = readLineFromFileWithUnicodeLe(m_fileFpr, file->size(), outputLineInfoVec, outputLineInfoVec, 0, maxLineSize);
1089 }
1090 else
1091 {
1092 code = readLineFromFile(m_fileFpr, file->size(), code, outputLineInfoVec, maxLineSize, charsNums, isHexFile);
1093 }
1094
1095 file->unmap(m_fileFpr);
1096 file->close();
1097 delete file;
1098
1099 return code;
1100}
1101
1102//读取文件,并输出
1103//bytes charsNums:文件字符个数,不是文件大小

Callers

nothing calls this directly

Calls 4

closeMethod · 0.80
dataMethod · 0.80
sizeMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected