class MyString
{
public:
MyString(const std::wstring& s2)
{
s = s2;
}
operator LPCWSTR() const
{
return s.c_str();
}
private:
std::wstring s;
};
int _tmain(int argc, _TCHAR* argv[])
{
MyString s = L"MyString";
CStringW cstring = L"CString";
wprintf(L"%s\n", (LPCWSTR)cstring); // Okay. Becase it has an operator LPCWSTR()
wprintf(L"%s\n", cstring); // Okay, fine. But how?
wprintf(L"%s\n", (LPCWSTR)s); // Okay. fine.
wprintf(L"%s\n", s); // Doesn't work. Why? It prints gabage string like "?."
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如何将CString传递给格式字符串%s?
我想删除我的std :: map中的一些元素.
我写了erase + remove_if技术,我总是使用其他序列容器.
但它不是用地图编译的.为什么?
我怎么能做这个工作?
std::map<int, int> m;
bool foo(const std::pair<int, int>& p)
{
return p.second > 15;
}
int _tmain(int argc, _TCHAR* argv[])
{
m.insert(make_pair(0, 0));
m.insert(make_pair(1, 10));
m.insert(make_pair(2, 20));
m.insert(make_pair(3, 30));
m.erase(
remove_if(m.begin(), m.end(), foo),
m.end()); // compile error
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在测试一个稀疏文件.但我的测试代码效果不佳.
HANDLE h = CreateFileW(L"D:\\sparse.test",
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
0,
CREATE_ALWAYS,
FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SPARSE_FILE,
0);
DWORD d = GetFileAttributes(L"D:\\sparse.test");
// The function returns 32(FILE_ATTRIBUTE_ARCHIVE).
// Where is FILE_ATTRIBUTE_SPARSE_FILE flag?
// How do I make a sparse file.
DWORD written;
WriteFile(h, "aaa", 3, &written, 0);
SetFilePointer(h, 2*1024*1024*1023, 0, FILE_BEGIN);
SetEndOfFile(h);
WriteFile(h, "bbb", 3, &written, 0);
Run Code Online (Sandbox Code Playgroud) 
阅读Rails日志vim,我们可以看到彩色日志.但是当我们使用tail -f或less观看日志时,它不再着色了.有没有办法看到的彩色日志,tail或者less还是什么?
有一些讨厌的遗留代码.
std::string xxx = GetCommand(); // get "CommandX";
if (xxx == "Command1")
{
return new Command1();
}
else if (xxx == "Command2")
{
return new Command2();
}
...
else if (xxx == "Command100")
{
return new Command100();
}
Run Code Online (Sandbox Code Playgroud)
我想改进这个代码结构.
有太多的比较.所以我把它们放到地图上.
for (int i = 0; i < GetCommandCount(); ++i)
{
// key is a command string
// value is a function pointer which creates it's instance
map.insert(command, a function pointer);
}
// then
ICommand* pCommand = map.getInstance(command);
Run Code Online (Sandbox Code Playgroud)
但是,如果有新的命令,这种方式必须每次都有额外的功能.是的,功能可能是合理的.但所有的功能只是return new …
我所知道的是
\\.\
Run Code Online (Sandbox Code Playgroud)
当我们在用户模式下打开设备的符号链接时使用它
\??\
Run Code Online (Sandbox Code Playgroud)
在我们以内核模式打开设备时使用它
\\?\
Run Code Online (Sandbox Code Playgroud)
长文件名
\\
Run Code Online (Sandbox Code Playgroud)
UNC路径.
但我想知道更多细节.
你能更准确地解释一下这些前缀吗?
HKML\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
KnownDLL 的目的是什么?(为了更快地加载某些 Dll?)
如果我有管理员令牌,我就可以控制注册表值。
难道就没有安全漏洞吗?
微软为何支持该功能?
如果dll导出某些函数并且函数只有序数,我该如何调用这些函数?
请给我一个简短的例子.
在Raymond Chen的一篇文章中,他似乎能够从装饰名称中了解该函数的未修饰名称.我不知道他怎么能这样做.
在这个装饰的名字,
?的GetName @可通过按钮@ UILibrary @@ UAEPB_WPAPAVStringHolder @ 2 @@ž
每个组件的含义是什么?
这个命令是我的问题:
/usr/local/bin/ruby **script/runner** --environment=production app/jobs/**my_job.rb** -t my_arg
`my_job.rb` is my script, which handles command line arguments. In this case it is `-t my_arg`.
Run Code Online (Sandbox Code Playgroud)
my_job.rb也需要`--environment = production'作为参数,这应该是script/runner的参数.
我想这可以用一些括号来解决,但没有一个想法.
如果解决方案没有触及(或依赖于)Rails或Linux的全局环境,那就更好了.
/usr/local/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: --environment=production (OptionParser::InvalidOption)
from /usr/local/lib/ruby/1.8/optparse.rb:1448:in `catch'
from /usr/local/lib/ruby/1.8/optparse.rb:1448:in `complete'
from /usr/local/lib/ruby/1.8/optparse.rb:1261:in `parse_in_order'
from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `catch'
from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
from /usr/local/lib/ruby/1.8/optparse.rb:1248:in `order!'
from /usr/local/lib/ruby/1.8/optparse.rb:1339:in `permute!'
from /usr/local/lib/ruby/1.8/optparse.rb:1360:in `parse!'
from app/jobs/2new_error_log_rt_report.rb:12:in `execute'
from app/jobs/2new_error_log_rt_report.rb:102
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `eval'
from /home/www/maldive/admin/releases/20120914030956/vendor/rails/railties/lib/commands/runner.rb:46
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from script/runner:3
Run Code Online (Sandbox Code Playgroud) windows ×6
c++ ×4
dll ×2
algorithm ×1
ansi-escape ×1
bash ×1
command-line ×1
containers ×1
file-io ×1
filesystems ×1
less ×1
linux ×1
logging ×1
map ×1
ntfs ×1
object ×1
ordinal ×1
ordinals ×1
ruby ×1
sparse-file ×1
stl ×1
string ×1
tail ×1
winapi ×1