直接上代码:
inline std::string getfilepath(std::string filePath, bool withExtension = true, char seperator = '/') {
// Get last dot position
std::size_t dotPos = filePath.rfind('.');
std::size_t sepPos = filePath.rfind(seperator);
return filePath.substr(0, sepPos + 1);
}
inline std::string getFileName(std::string filePath, bool withExtension = true, char seperator = '/') {
// Get last dot position
std::size_t dotPos = filePath.rfind('.');
std::size_t sepPos = filePath.rfind(seperator);
if (sepPos != std::string::npos) {
return filePath.substr(sepPos + 1, filePath.size() - (withExtension || dotPos != std::string::npos ? 1 : dotPos));
}
else if (dotPos != std::string::npos) {
return filePath;
}
return filePath;
}
const std::fstream::openmode APPEND = std::fstream::out | std::fstream::binary | std::fstream::app;
const std::fstream::openmode READ = std::fstream::in | std::fstream::binary;
const std::fstream::openmode WRITE = std::fstream::out | std::fstream::binary;
FileBuffer file;
std::fstream targetFileStream("./text1.txt", READ);
std::fstream text("./1111.txt", APPEND);
int main()
{
uint16_t i = 1000;
while (i--)
{
while (!targetFileStream.eof()) {
targetFileStream >> file;
text << file;
}
text.flush();
text.close();
std::string temp = getfilepath("./aaaa/aaa/aa/");
std::string name = getFileName("./aaaa/aaa/aa/a.txt");
std::cout << "Hello World!\n" << temp << " " << name << std::endl;
}
}