问题列表 - 第20657页

如何使用C预处理器将连接字符串转换为wide-char?

我正在进行一个项目,我有许多由连接(数字等)形成的常量字符串.

例如,我有一个LOCATION格式化的宏,__FILE__并且__LINE__在打印消息或错误时,我可以用它来知道我在代码中的位置:

#define _STR(x)    # x
#define STR(x)     _STR(x)
#define LOCATION __FILE__ "(" STR(__LINE__) ")"
Run Code Online (Sandbox Code Playgroud)

因此,这将格式化像"file.cpp(42)"的位置.问题是当我尝试将结果转换为宽字符串时:

#define _WIDEN(x)  L ## x
#define WIDEN(x)   _WIDEN(x)
#define WLOCATION  WIDEN(LOCATION)
Run Code Online (Sandbox Code Playgroud)

这适用于GCC,并导致L"file.cpp(42)"插入到我的代码中.但是,当使用MSVC++(使用Visual C++ 2008 Express)尝试此操作时,我收到一个错误:

error: Concatenating wide "file.cpp" with narrow "("
Run Code Online (Sandbox Code Playgroud)

我知道L前缀只会添加到我的表达式的第一个术语中.我也试过这个:

#define _WIDEN(x) L ## #x
Run Code Online (Sandbox Code Playgroud)

哪个"有用",但是给出了L"\"file.cpp\" \"(\" \"42\" \")\""显然不太方便的字符串(而不是我想要的),特别是考虑到这个宏与其他宏相比很简单.

所以,我的问题是:如何才能将它应用于MSVC++中的整个表达式,这样我可以得到与GCC相同的结果?我宁愿不用全宽标记创建第二个字符串,因为我必须为每个标记维护两个宏,这不是很方便并且可能导致错误.另外,我也需要每个字符串的窄版本,所以不幸的是,使用全宽字符串也不是一种选择.

c++ wchar-t stringification visual-c++ c-preprocessor

7
推荐指数
1
解决办法
5348
查看次数

轮到日期为10分钟

我有一个DATE列,我希望在查询中舍入到下一个较低的10分钟间隔(参见下面的示例).

我设法通过截断秒数然后减去分钟的最后一位数来实现.

WITH test_data AS (
        SELECT TO_DATE('2010-01-01 10:00:00', 'YYYY-MM-DD HH24:MI:SS') d FROM dual
  UNION SELECT TO_DATE('2010-01-01 10:05:00', 'YYYY-MM-DD HH24:MI:SS') d FROM dual
  UNION SELECT TO_DATE('2010-01-01 10:09:59', 'YYYY-MM-DD HH24:MI:SS') d FROM dual
  UNION SELECT TO_DATE('2010-01-01 10:10:00', 'YYYY-MM-DD HH24:MI:SS') d FROM dual
  UNION SELECT TO_DATE('2099-01-01 10:00:33', 'YYYY-MM-DD HH24:MI:SS') d FROM dual
)
-- #end of test-data
SELECT
  d, TRUNC(d, 'MI') - MOD(TO_CHAR(d, 'MI'), 10) / (24 * 60)
FROM test_data
Run Code Online (Sandbox Code Playgroud)

这是结果:

01.01.2010 10:00:00    01.01.2010 10:00:00
01.01.2010 …

sql oracle date rounding

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

通过ssh验证文件是否存在

我试图使用pexpect测试SSH上是否存在文件.我有大部分代码工作,但我需要捕获值,所以我可以断言文件是否存在.我所做的代码如下:

def VersionID():

        ssh_newkey = 'Are you sure you want to continue connecting'
        # my ssh command line
        p=pexpect.spawn('ssh service@10.10.0.0')

        i=p.expect([ssh_newkey,'password:',pexpect.EOF])
        if i==0:
            p.sendline('yes')
            i=p.expect([ssh_newkey,'password:',pexpect.EOF])
        if i==1:
            p.sendline("word")
            i=p.expect('service@main-:')
            p.sendline("cd /opt/ad/bin")
            i=p.expect('service@main-:')
            p.sendline('[ -f email_tidyup.sh ] && echo "File exists" || echo "File does not exists"')
            i=p.expect('File Exists')
            i=p.expect('service@main-:')
            assert True
        elif i==2:
            print "I either got key or connection timeout"
            assert False

        results = p.before # print out the result

VersionID()
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

python testing ssh bash pexpect

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

NHibernate和hilo生成器:如何设计关键表?

我准备将我的一些实体从身份转换为hilo id-generator.

我不知道如何设计保持下一个高值的表.

  • 我应该为所有实体或一组相关实体使用单个表吗?
  • 我应该为每个实体使用另一张表吗?
  • 我应该使用每个实体的另一行或列的单个表吗?

有没有最佳做法?需要考虑什么?任何方法都有任何优缺点吗?

nhibernate database-design hilo

8
推荐指数
1
解决办法
1811
查看次数

是否有可能使日期数据类型接受13作为一个月,30接受所有月份?

我在埃塞俄比亚,我们有13个月.其中12个,每个30天,第13个月,5天或6天.我想使用BindingSourcesort方法按日期对数据进行排序.但要做到这一点,我需要将我的日期字段设置为日期数据类型.当我设置DataType到日期时,我不能输入一些值,如月份值为13,第二个月的日值为30.

我想要的只是让我的应用程序接受13作为一个月,30作为所有月份的一天,以便我可以按日期对数据进行排序.是否可以通过为我的应用程序设置文化或通过其他方式这样做?

.net culture calendar

9
推荐指数
1
解决办法
390
查看次数

允许html/css/javascript - 类语法

我需要从内容中定义html类,所以几乎每个char都可以使用.根据我可能使用的html参考cdata,所以我不应该遇到问题.我想虽然,css和/或javascript/jquery不能很好地发挥作用.

任何人都有没有问题可以使用的字符的经验,或者是否有一个函数/插件/ ..整理类名,以便它们可用?

html javascript css syntax jquery

0
推荐指数
1
解决办法
209
查看次数

如何测试SQL语句并确保其质量?

我这些天正在处理一些商业情报报告.数据由普通的SQL SELECT语句提取.这些陈述变得越来越复杂.

我想报告的数据部分是关键业务.如果我能做一些事情来证明SQL语句的正确性和质量,那么我会感觉更好.

我知道有一些方法可以为应用程序代码执行此操作.但是,如何在SQL级别实现这些目标呢?

提前致谢.

sql testing

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

如何从Web应用程序打印到收据打印机?

我的客户要求我从我的网络应用程序打印Epson TM U220(http://pos.epson.com/products/TM-U220.htm)上的收据.我不知道该怎么做.是否有任何java applet或其他我可以用于打印的东西?我应该使用JasperReports吗?(JasperReports是否有助于解决这个问题?)如果有可以使用的Flash应用程序,我不反对使用它.

我正在使用Grails作为我的网络应用程序.

java grails jasper-reports point-of-sale

14
推荐指数
1
解决办法
2万
查看次数

我如何知道何时释放NSDate对象?

当我完成它们时,这些日期指针中的任何一个或两个都需要[发布].我怎么知道这个?我不确定,因为我没有明确地做init.

NSDate *date = [NSDate date];

NSDate *date = [dateWithTimeIntervalSince1970:100000000];
Run Code Online (Sandbox Code Playgroud)

iphone release nsdate

3
推荐指数
2
解决办法
1983
查看次数

Python:创建流式gzip文件?

我试图找出用Python压缩流的最佳方法zlib.

我有一个类似文件的输入流(input,下面)和一个输出函数,它接受类似文件(output_function,下面):

with open("file") as input:
    output_function(input)
Run Code Online (Sandbox Code Playgroud)

我想input在发送之前对gzip压缩块进行压缩output_function:

with open("file") as input:
    output_function(gzip_stream(input))
Run Code Online (Sandbox Code Playgroud)

看起来gzip模块假定输入或输出都是gzip的磁盘文件...所以我假设zlib模块是我想要的.

但是,它本身并没有提供一种简单的方法来创建类似于文件的流......而它支持的流压缩是通过手动将数据添加到压缩缓冲区,然后刷新缓冲区来实现的.

当然,我可以写一个包装器zlib.Compress.compresszlib.Compress.flush(Compress由它返回zlib.compressobj()),但我担心缓冲区大小错误或类似的东西.

那么,使用Python创建流式,gzip压缩文件的最简单方法是什么?

编辑:为了澄清,输入流和压缩输出流都太大output_function(StringIO(zlib.compress(input.read())))而不适合内存,所以类似的东西并没有真正解决问题.

python gzip zlib

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