小编Tyl*_*nry的帖子

为什么glibc"timezone"全球不同意DST的系统时间?

我遇到了一个奇怪的问题,我的系统时钟知道它是夏令时,但glibc似乎没有.这是一个最新的Ubuntu安装,我检查了/ etc/localtime,它有正确的转换时间,用于上周切换到夏令时.

对我来说,目前正确的时区是太平洋夏令时(UTC-7).当我问我的系统我在哪个时区时,它正确告诉我:

$ date +%z
-0700
Run Code Online (Sandbox Code Playgroud)

但是当我运行以下程序时:

#include <time.h>
#include <stdio.h>

int main() {
  tzset();
  printf("%lu\n", timezone);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是错误的:

28800
Run Code Online (Sandbox Code Playgroud)

对应于UTC-8或太平洋标准时间.(不,TZ未在我的环境中设置)

我认为glibc和日期程序会从同一来源获得他们的时区信息,但显然要么他们没有,要么我误解了glibc时区全球的运作方式.

那么基本问题是:

  1. 为什么这两个输出不同
  2. 如何可靠地检测C程序的系统UTC偏移?

c timezone glibc

6
推荐指数
1
解决办法
2978
查看次数

关于c ++头文件包含的基本问题?

以下3个课程有什么区别?<iostream>是头文件还是C++标准库?

1.

#include<iostream>
using namespace std;

int main()
{
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

2.

#include<iostream>

int main()
{
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

3.

#include<iostream.h>

int main()
{
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++ header-files

5
推荐指数
2
解决办法
1745
查看次数

插入包含从其他行计算的数据的新行

假设我有一个名为MyTable的MySQL表,它看起来像这样:

+----+------+-------+
| Id | Type | Value |
+----+------+-------+
|  0 | A    |     1 |
|  0 | B    |     1 |
|  1 | A    |     2 |
|  1 | B    |     3 |
|  2 | A    |     5 |
|  2 | B    |     8 |
+----+------+-------+
Run Code Online (Sandbox Code Playgroud)

并且,对于每个Id,我想插入一个新行,C其类型Value是行的类型AB值的总和Id.这个表上的主键是(Id, Type),所以不存在重复ID,类型对的问题.

我可以使用此查询创建我想要的行:

SELECT MyTable_A.Id AS Id, 'C' AS Type, (A_Val + B_Val) …
Run Code Online (Sandbox Code Playgroud)

mysql insert-query

5
推荐指数
1
解决办法
2516
查看次数

Bjarne会犯错吗?(虽然解释模板),或者我还是不明白?

伙计们,我正在从"The C++ Programming Language 3rd ed"做练习.在页340上有一个功能的例子:

template <class T, class C = Cmp<T> > // Here is a default argument
// But as far as I'm concerned it's illegal to have a default argument in
// a function template
        int compare (const String<T>& str1, const String<T>& str2)
        {
        /*Some code*/
        }
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:
书中是否有错误或者我错了?

c++ templates

5
推荐指数
1
解决办法
232
查看次数

如何防止跨站点脚本?

我正在使用php,mysql和smarty,我放置用户可以放置注释等.我已经在插入SQL注入数据库之前转义了字符.我还需要做什么?

security xss sql-injection

4
推荐指数
2
解决办法
2385
查看次数

这段代码有什么问题?

#include<stdio.h>

class A { public: int a;};
class B: public A { 
public:
    static int b;
    B(){
        b++;
        printf("B:%d\n",b);
    }   
};

int main() {

    A* a1 = new B[100];
    A* a2 = new B();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误:

In function `main':
undefined reference to `B::b'
undefined reference to `B::b'
undefined reference to `B::b'
undefined reference to `B::b'
Run Code Online (Sandbox Code Playgroud)

c++ static

4
推荐指数
1
解决办法
168
查看次数

C中的命令行参数

我让这个程序执行命令行给出的值10,20,30.

int main(int argc , char **argv)
 { 
  printf("\n Printing the arguments of a program \n");
  printf("\n The total number of arguments in the program is %d",argc);
   while(argc>=0)
    { 
     printf("%s   ",argv[argc]);
     argc--;
     }
     return 0;
  }    
Run Code Online (Sandbox Code Playgroud)

输出是程序中的参数总数是4(null)30 20 10 ./a.out

那个(null)来自哪里?

c

4
推荐指数
2
解决办法
1842
查看次数

CSS边缘奇怪的行为,为什么?

拥有以下HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <div style="width:400px;height:200px;background-color:Gray;margin-bottom:10px;"></div>
    <div style="width:400px;height:200px;background-color:Green;margin-top:10px;"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这两个DIV之间的空间只有10个像素.

为什么?请解释.

css margins

3
推荐指数
1
解决办法
783
查看次数

问题覆盖虚函数

好吧,我正在编写一个游戏,其中包含一个pairent类(敌人)的向量,它将被子类(goomba,koopa,boss1)填充,我需要在调用update时调用子类.各自的更新.我设法创建了一个问题的例子.

#include <stdio.h>
class A{
    public:
        virtual void print(){printf("Hello from A");}
};

class B : public A{
    public:
        void print(){printf("Hello from B");}
};


int main(){
    A ab = B();
    ab.print();
    while(true){}
}
Run Code Online (Sandbox Code Playgroud)

输出需要:"你好B"输出得到:"你好A"

如何让它调用B的打印功能?

c++ polymorphism inheritance

3
推荐指数
1
解决办法
262
查看次数

如何从unix中获取当前时间的小时值(使用C)

我有以下程序来获取当前日期和时间.

int main(void)  
{  
  time_t result;  
  result = time(NULL);  
  struct tm* brokentime = localtime(&result);  
  printf("%s", asctime(brokentime));  
  return(0);  
}
Run Code Online (Sandbox Code Playgroud)

该计划的产出如下:

Tue Aug 24 01:02:41 2010
Run Code Online (Sandbox Code Playgroud)

如何从上面仅检索小时值01?
或者是否有其他系统调用可以获得系统的当前小时?我需要根据这个采取行动.

谢谢

c unix

3
推荐指数
1
解决办法
425
查看次数