在代码中使用printf和wprintf一起使用时遇到问题.如果首先打印常规字符串,则wprintf不起作用.如果我wprintf先使用则printf不起作用.
#include <stdio.h>
#include <wchar.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"");
printf("No printing!\n");
wprintf(L"Printing!\n");
wprintf(L"Wide char\n");
printf("ASCII\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
No printing!
ASCII
Run Code Online (Sandbox Code Playgroud)
而
#include <stdio.h>
#include <wchar.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"");
wprintf(L"Printing!\n");
printf("No printing!\n");
wprintf(L"Wide char\n");
printf("ASCII\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
Printing!
Wide char
Run Code Online (Sandbox Code Playgroud)
我在64位Linux 3.0上使用gcc(GCC)4.6.1 20110819和glibc 2.14.
假设我有以下代码:
public class SomeClass()
{
private readonly object _lock = new object();
public void SomeMethodA()
{
lock (_lock)
{
SomeHelperMethod();
//do something that requires lock on _lock
}
}
public void SomeMethodB()
{
lock (_lock)
{
SomeHelperMethod();
//do something that requires lock on _lock
}
}
private void SomeHelperMethod()
{
lock (_lock)
{
//do something that requires lock on _lock
}
}
}
Run Code Online (Sandbox Code Playgroud)
锁定内部SomeHelperMethod似乎是多余和浪费的,因为所有呼叫者都已经锁定.但是,简单地删除锁SomeHelperMethod似乎很危险,因为我们以后可能会重构代码并忘记_lock在调用之前锁定对象SomeHelperMethod.
理想情况下,我可以通过断言当前线程在_lock内部拥有一个锁来解决这个问题SomeHelperMethod:
private void SomeHelperMethod() …Run Code Online (Sandbox Code Playgroud) 我在C中有一个数组,我希望以类似于循环缓冲区的方式进行寻址,例如:a[-1]将返回数组的最后一个元素.
为了做到这一点,我尝试使用模运算(显然),问题是,当涉及负数时,我得到了相当奇怪的结果:
-1 % 4 = -1
-1 % 4U = 3
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
-1 % 4000 = -1
(-1+4000U) % 4000U = 3999
(-1) % 4000U = 3295
Run Code Online (Sandbox Code Playgroud)
问题:值(3295)确实适用于来自C标准(6.5.5#6)的(a/b)*b + a%b shall equal a, truncated towards zero(for a=-1, b=4000)所以它本身不是一个bug ,但为什么标准是这样定义的?!当然,这里必须有一些逻辑......
我如何写a%b以获得负面的合理结果a(因为(a+b)%b停止工作时abs(a)>b)?
测试应用:
#include <stdio.h>
int main(int argc, char **argv) {
int i=0;
#define MAX_NUM 4000U
int weird = (i-1)%MAX_NUM;
printf("%i\n", weird);
printf("%i\n", …Run Code Online (Sandbox Code Playgroud) if 'string1' in line: ...
Run Code Online (Sandbox Code Playgroud)
...按预期工作,但如果我需要检查多个字符串,如下所示:
if 'string1' or 'string2' or 'string3' in line: ...
Run Code Online (Sandbox Code Playgroud)
......似乎没有用.
我没有创建我正在使用的数据库,但我想查看检查约束的详细信息.
我知道列上的检查约束是强制执行一组特定值,我想知道这些值是什么.例如,如果检查约束强制执行字符"Y"和"N",我希望能够查询数据库并查看接受的值是"Y"和"N".
这可以通过查询来完成吗?
我如何检查是否已声明静态类?ex鉴于上课
class bob {
function yippie() {
echo "skippie";
}
}
Run Code Online (Sandbox Code Playgroud)
稍后在代码中如何检查:
if(is_a_valid_static_object(bob)) {
bob::yippie();
}
Run Code Online (Sandbox Code Playgroud)
所以我没有得到:致命错误:在第3行的file.php中找不到类'bob'
我试图检查添加以下约束,但Oracle返回如下所示的错误.
ALTER TABLE Table1
ADD (CONSTRAINT GT_Table1_CloseDate
CHECK (CloseDate > SYSDATE),
CONSTRAINT LT_Table1_CloseDate
CHECK (CloseDate <= SYSDATE + 365)),
CONSTRAINT GT_Table1_StartDate
CHECK (StartDate > (CloseDate + (SYSDATE + 730))));
Run Code Online (Sandbox Code Playgroud)
错误:
Error report:
SQL Error: ORA-02436: date or system variable wrongly specified in CHECK constraint
02436. 00000 - "date or system variable wrongly specified in CHECK constraint"
*Cause: An attempt was made to use a date constant or system variable,
such as USER, in a check constraint that was not completely …Run Code Online (Sandbox Code Playgroud) 我以这种方式用jQuery检查元素:
var x = $("div.myElement");
if (x.length > 0) {
x.show();
}
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢那样if.有什么方法可以做到更简单吗?
是否有任何现有工具可以执行与'jslint'或'php -l'相同的功能?
对于大型项目,我们如何在任何单元测试之前确保源代码没有任何拼写错误.
我似乎无法修补__call__类实例的方法(是的,我想修补单个实例,而不是所有实例).
以下代码:
class A(object):
def test(self):
return "TEST"
def __call__(self):
return "EXAMPLE"
a = A()
print("call method: {0}".format(a.__call__))
print("test method: {0}".format(a.test))
a.__call__ = lambda : "example"
a.test = lambda : "test"
print("call method: {0}".format(a.__call__))
print("test method: {0}".format(a.test))
print(a())
print("Explicit call: {0}".format(a.__call__()))
print(a.test())
Run Code Online (Sandbox Code Playgroud)
输出:
call method: <bound method A.__call__ of <__main__.A object at 0x7f3f2d60b6a0>>
test method: <bound method A.test of <__main__.A object at 0x7f3f2d60b6a0>>
call method: <function <lambda> at 0x7f3f2ef4ef28>
test method: <function <lambda> at 0x7f3f2d5f8f28>
EXAMPLE
Explicit call: …Run Code Online (Sandbox Code Playgroud)