我有一个问题,其中字符串的大小是由一个'\0'字符的存在实现的.我搜索到了所有的东西,但仍无法得到答案.
这是片段.
int main()
{
std::string a = "123123\0shai\0";
std::cout << a.length();
}
Run Code Online (Sandbox Code Playgroud)
这种情况下的输出是
6
Run Code Online (Sandbox Code Playgroud)
其中具有不同字符串的相同程序具有数字而不是字符
int main()
{
std::string a = "123123\0123\0";
std::cout << a.length();
}
Run Code Online (Sandbox Code Playgroud)
给出一个输出
8
Run Code Online (Sandbox Code Playgroud)
引擎盖下究竟发生了什么?'\0'角色的存在如何改变行为?
我有一个使用的类 org.reflections.Reflections在类路径中的类中获取注释。
当我在同一个项目中使用它时一切正常,但是当我将它导出为 JAR 并在不同的类中引用它时,我得到以下执行:
Exception in thread "main" org.reflections.ReflectionsException: Scanner TypeAnnotationsScanner was not configured
at org.reflections.Store.get(Store.java:39)
at org.reflections.Store.get(Store.java:61)
at org.reflections.Store.get(Store.java:46)
at org.reflections.Reflections.getTypesAnnotatedWith(Reflections.java:429)
Run Code Online (Sandbox Code Playgroud)
这是代码片段:
System.out.println("Package to Scan: "+getPackageName());
final Reflections reflections = new Reflections(getPackageName(), new TypeAnnotationsScanner());
final Set<Class<?>> handlerClasses = reflections.getTypesAnnotatedWith(HandlerMapping.class,true);
Run Code Online (Sandbox Code Playgroud)
我确实提供了一个TypeAnnotationsScanner对象,但问题仍然存在。
注意:只有当上面的代码被称为 jar 时,它才起作用。(我使用 maven-assembly 插件创建了一个胖罐子)
任何指针?
我知道我们可以使用clock_gettime(CLOCK_MONOTONIC).
我尝试问的问题是,如果我需要从纪元开始的纳秒时间,那将是一个巨大的数字。
例如:
13438461673这样13438461673 * 1000000000我如何将它放入 64 位整数中?
主要参数的数量是否有限制?
这是一个完美运行的示例代码......我不知道是否允许它.
int main( char* argv[], int argc, int arv, bool test)
{
cout<<"Hello"<<endl;
}
Run Code Online (Sandbox Code Playgroud)
输出:你好
我在用
GCC-4.1.2_20070115-0.32.53
GCC-C++ - 4.1.2_20070115-0.32.53
libgcc中,4.1.2_20070115-0.32.53
GCC-objc-4.1.2_20070115-0.32.53
这个问题可能很愚蠢但如果我了解这种行为会很好.
我试着打印
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
使用一个简单的程序
char testme [] ="\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\0";
cout<<"testme:"<<testme<<endl;
Run Code Online (Sandbox Code Playgroud)
这种情况下的输出是
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Run Code Online (Sandbox Code Playgroud)
我打算打印64"\"字符,而输出是32"\"字符.
似乎有一些我缺少的东西,因为输出正好是一半.
编辑:我问的原因是因为,我必须^ "\"另一个字符用于HMAC加密,我看到一些奇怪的事情.