问题列表 - 第13824页

为什么strncpy不为null终止?

strncpy()据说可以防止缓冲区溢出.但是如果它在没有null终止的情况下防止溢出,那么随后的字符串操作将会溢出.所以为了防止这种情况,我发现自己在做:

strncpy( dest, src, LEN );
dest[LEN - 1] = '\0';
Run Code Online (Sandbox Code Playgroud)

man strncpy 得到:

strncpy()函数类似,只是复制了不超过n个字节的src.因此,如果src的前n个字节中没有空字节,则结果将不会以空值终止.

没有null终止看似无辜的东西,如:

   printf( "FOO: %s\n", dest );
Run Code Online (Sandbox Code Playgroud)

......可能会崩溃


是否有更好,更安全的替代品strncpy()

c strncpy

71
推荐指数
7
解决办法
8万
查看次数

用于C++的分布式共享内存库?

我正在用C++编写分布式应用程序框架.其中一个要求是提供分布式共享内存.我不是从头开始写自己的(并且可能重新发明轮子),我想我会看看是否有任何预先存在的开源库 - 快速谷歌搜索没有产生任何有用的东西.

这里有没有人有他们可以推荐的优秀C++ DSM库的经验?

理想情况下,该库将支持MRMW(多个读取器/多个写入器),但如果需要,我可以使用MRSW(多个读取器,单个写入器).我在Linux上开发.

c++ distributed shared-memory

7
推荐指数
2
解决办法
5786
查看次数

python错误"列表索引必须是整数",它们是整数

我遇到了问题.我有一个由31个元素组成的数组,称为颜色.我还有另一个数组,其整数在0到31之间变化,这称为c.我想生成一个新数组,其中c中的值现在是颜色中的相应值.

我写:

newarray =颜色并[c]

但得到错误消息"列表索引必须是整数",但c是一个整数数组.我是python的新手,没有时间做教程,因为我只需要它来进行特定的绘图任务.有人能帮我一把吗?

谢谢

python

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

ORA-02437:无法验证<name> - 违反主键

我有一张桌子:

CREATE TABLE MY_TABLE (
  MY_ID NUMBER NOT NULL,
  COLUMN_1 NUMBER,
  COLUMN_2 NUMBER
);
ALTER TABLE MY_TABLE ADD CONSTRAINT PK_FOO PRIMARY KEY (MY_ID);
Run Code Online (Sandbox Code Playgroud)

稍后,当执行以下sql时,我收到一个错误:

ALTER TABLE MY_TABLE DROP PRIMARY KEY DROP INDEX;
ALTER TABLE MY_TABLE ADD CONSTRAINT PK_FOO PRIMARY KEY (MY_ID) 

ORA-02437: cannot validate PK_FOO - primary key violated
Run Code Online (Sandbox Code Playgroud)

我的表只包含3个条目,所有条目都有不同的主键,也不是空的.任何人都知道这可能是什么?

谢谢,

彼得

sql oracle primary-key

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

如何使用C#识别键盘键

我有一个C#应用程序在后台运行.现在我想在系统锁定时停止此应用程序.我怎样才能做到这一点.对此有任何帮助,我们非常感谢.

感谢Hougen的解决方案.你可以建议我,我们应该包括任何Dll来处理"Microsoft.Win32.SystemEvents.SessionSwitch"这个事件吗?以及此代码应驻留在哪一层.我猜它在商业层.有什么想法退守这个?

c# keyboard key identify

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

可以在Google AppEngine上使用django Piston吗?

由于所有类型的缺失依赖项,我无法这样做(主要是,我认为问题出在依赖于AppEngine上没有的django东西的身份验证代码中)

我想知道是否有人修补\ forked活塞让它在AppEngine上工作?

python django google-app-engine django-piston

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

web.config是否覆盖任何app.configs?

如果我有一个Web应用程序(有自己的web.config)和.dll,那么app.config当发生冲突时,它会使用自己的哪个设置文件获胜?

.net settings app-config web-config

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

标准库中最有用的Python模块?

我正在巴黎大学教授一个研究生水平的Python课程,学生需要被引入标准库.我想与他们讨论一些最重要的标准模块.

你认为哪些模块绝对必须?尽管反应取决于你的域(web编程,科学等)可能会发生变化,我觉得有些模块通常需要:math,sys,re,os,os.path,logging,...也许:collections,struct,...

你会建议我在一个或两个小时的时间内出示什么模块?

python module standard-library

55
推荐指数
8
解决办法
2万
查看次数

在emacs lisp中哪个shell命令?

如果我试图在我调用rsync(或scp)多次的Emacs Lisp函数中运行shell命令,我应该使用哪个shell-command变量?我目前正在使用shell-command,它会锁定Emacs,直到完成该过程,并且不会打印带有--verboseto的应该可见的输出rsync; 我可以用shell-command&在命令字符串的结尾,使其同步,这并打印进度-但同时它并没有完全"锁定"的Emacs,迷你缓冲区反复问我是否要终止的进程是沉重同时; 并且start-process-shell-command,只有在传输第一个文件/目录后才会暂停该功能; 当rsync通过我的功能进行多次通话时忽略其余部分.这些都不是理想的,任何提示?

emacs elisp

10
推荐指数
2
解决办法
4489
查看次数

OR约束的SQL语句中的条件列

这个问题是关于SQL中的一般技术,我无法弄清楚如何最好地实现我目前对语言的理解.

请注意,这将针对Oracle运行,以防任何特定于供应商的功能特别有用,但我希望有一种很好的方法可以使用"纯"SQL执行此操作.

问题的简短版本:如果我对查询有一个OR条件,我检查我的"主"表A中的值是否对应于表B或表C中的值,有条件地修改的最佳方法是什么(例如,乘以)语句选择器,如果在表C中找到了值,但在表B中没有找到?

长版本(带示例):目前我有一个看起来大致相似的查询(它更复杂,但这是基本结构):

select o.value, /* other stuff... */
  from orders o,
       clients c
 where o.client = c.pkey
   and c.name = ?
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是,现在想象一些客户可以代表其他客户行事 - 但由于处理费或某些逻辑交易以这种方式进行,并不完全具有其全部价值.所以有一个表managed_orders具有用于列order,client另一列(两主键将各表)和multiplier,作为表示应"通过进行"的顺序值的比例在0.0和1.0之间的浮点数.

正确 - 因此修改上述查询以显示由给定客户端拥有或由其他人管理的订单非常简单.但是,如果这是一个托管订单,我需要将o.value选择器乘以托管订单,但如果它是经典的直接订单,则不需要(或者等价地我们可以乘以1.0).multiplier

select o.value * m.multiplier /* Will not work in all cases */, /* other stuff... */
  from orders o,
       clients c,
       managed_orders m
 where (o.client = c.pkey or m.order = o.pkey)
   and c.name = ?
   and m.client = …
Run Code Online (Sandbox Code Playgroud)

sql oracle

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