本文整理汇总了C++中FileName::removeFile方法的典型用法代码示例。如果您正苦于以下问题:C++ FileName::removeFile方法的具体用法?C++ FileName::removeFile怎么用?C++ FileName::removeFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileName
的用法示例。
在下文中一共展示了FileName::removeFile方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
bool TextClass::read(std::string const & str, ReadType rt)
{
Lexer lexrc(textClassTags);
istringstream is(str);
lexrc.setStream(is);
ReturnValues retval = read(lexrc, rt);
if (retval != FORMAT_MISMATCH)
return retval == OK;
// write the layout string to a temporary file
FileName const tempfile = FileName::tempName("TextClass_read");
ofstream os(tempfile.toFilesystemEncoding().c_str());
if (!os) {
LYXERR0("Unable to create temporary file");
return false;
}
os << str;
os.close();
// now try to convert it
bool const worx = convertLayoutFormat(tempfile, rt);
if (!worx) {
LYXERR0("Unable to convert internal layout information to format "
<< LAYOUT_FORMAT);
}
tempfile.removeFile();
return worx;
}
示例2: do_rename
bool SpecialisedMover::do_rename(FileName const & from, FileName const & to,
string const & latex) const
{
if (command_.empty())
return Mover::do_rename(from, to, latex);
if (!do_copy(from, to, latex))
return false;
return from.removeFile();
}
示例3: convertLayoutFormat
bool TextClass::convertLayoutFormat(support::FileName const & filename, ReadType rt)
{
LYXERR(Debug::TCLASS, "Converting layout file to " << LAYOUT_FORMAT);
FileName const tempfile = FileName::tempName("convert_layout");
bool success = layout2layout(filename, tempfile);
if (success)
success = readWithoutConv(tempfile, rt) == OK;
tempfile.removeFile();
return success;
}
示例4: listen
// Returns a local socket already in the "listen" state (or -1 in case
// of error). The first argument is the socket address, the second
// is the length of the queue for connections. If successful, a socket
// special file 'name' will be created in the filesystem.
int listen(FileName const & name, int queue)
{
int fd; // File descriptor for the socket
sockaddr_un addr; // Structure that hold the socket address
// We use 'localname' to fill 'addr'
string const localname = name.toFilesystemEncoding();
string::size_type len = localname.size();
// the field sun_path in sockaddr_un is a char[108]
if (len > 107) {
LYXERR0("lyx: Socket address '" << name.absFileName() << "' too long.");
return -1;
}
// Synonims for AF_UNIX are AF_LOCAL and AF_FILE
addr.sun_family = AF_UNIX;
localname.copy(addr.sun_path, 107);
addr.sun_path[len] = '\0';
// This creates a file descriptor for the socket
// Synonims for PF_UNIX are PF_LOCAL and PF_FILE
// For local sockets, the protocol is always 0
// socket() returns -1 in case of error
if ((fd = ::socket(PF_UNIX, SOCK_STREAM, 0))== -1) {
LYXERR0("lyx: Could not create socket descriptor: "
<< strerror(errno));
return -1;
}
// Set NONBLOCK mode for the file descriptor
if (::fcntl(fd, F_SETFL, O_NONBLOCK) == -1) {
LYXERR0("lyx: Could not set NONBLOCK mode for socket descriptor: "
<< strerror(errno));
::close(fd);
return -1;
}
// bind() gives the local address 'name' for 'fd', also creating
// the socket special file in the filesystem. bind() returns -1
// in case of error
if ((::bind (fd, reinterpret_cast<sockaddr *>(&addr), SUN_LEN(&addr))) == -1) {
LYXERR0("lyx: Could not bind address '" << name.absFileName()
<< "' to socket descriptor: " << strerror(errno));
::close(fd);
name.removeFile();
return -1;
}
// Puts the socket in listen state, that is, ready to accept
// connections. The second parameter of listen() defines the
// maximum length the queue of pending connections may grow to.
// It is not a restriction on the number of connections the socket
// can accept. Returns -1 in case of error
if (::listen (fd, queue) == -1) {
LYXERR0("lyx: Could not put socket in 'listen' state: "
<< strerror(errno));
::close(fd);
name.removeFile();
return -1;
}
return fd;
}