问题列表 - 第12628页

C++将char数组与字符串进行比较

我正在尝试将字符数组与字符串进行比较,如下所示:

const char *var1 = " ";
var1 = getenv("myEnvVar");

if(var1 == "dev")
{
   // do stuff
}
Run Code Online (Sandbox Code Playgroud)

这个if语句永远不会被验证为真......当我输出var1时它是"dev",我想也许它与空终止字符串有关,但是"dev"和var1的strlen是相等的...我也可能认为var1 =="dev"将"dev"与var1的内存位置进行比较而不是值.*var1 =="dev"导致错误....尝试了很多东西,可能是saavy c ++开发人员的简单解决方案(我没有在一段时间内编写c ++).

编辑:我们试过了

if(strcmp(var1, "dev") == 0)
Run Code Online (Sandbox Code Playgroud)

if(strncmp(var1, "dev", 3) == 0)
Run Code Online (Sandbox Code Playgroud)

谢谢

编辑:在家测试后,我只是建议我的同事将数据类型更改为字符串.我相信他正在将一个大字母的char数组与一个字符串进行比较.我把一个输出sizeof,strlen等的程序放在一起,以帮助我们完成它.感谢大家的帮助.

c++ string string-comparison

36
推荐指数
2
解决办法
13万
查看次数

在Rails中查找数据

我有3个模型,用户,发布,评论和定义如下

    class Post < ActiveRecord::Base
      belongs_to :user
      has_many :comments
      def self.find_other_user_posts
           ?
      end
    end
    class User < ActiveRecord::Base
      has_many :posts
      has_many :comments
      has_many :posts_commented_on, :through => :comments, :source => :posts
    end
    class Comment< ActiveRecord::Base
      belongs_to :post
      belongs_to :user
    end
Run Code Online (Sandbox Code Playgroud)

用户可以有很多帖子和很多评论,问题是我想在Post模型中制作返回帖子集合的方法.该方法将查找不属于当前用户的帖子和评论.例如,有

Post: A have Comment: A1
Post: B have Comment: B1, B2, B3, B4
Post: C have Comment: C1, C2
Post: D have Comment: nil
Post: E have Comment: nil
Post: F have Comment: F1, F2, F3
Run Code Online (Sandbox Code Playgroud)

当前用户自己的帖子A,E和评论A1,B2,所以呼叫:

@posts = Post.find_other_user_posts …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

当一个struct是一个struct时,using语句是什么时候用它的参数?

我对以下代码有一些疑问:

using System;

namespace ConsoleApplication2
{
    public struct Disposable : IDisposable
    {
        public void Dispose() { }
    }

    class Program
    {
        static void Main(string[] args)
        {
            using (Test()) { }
        }

        static Disposable Test()
        {
            return new Disposable();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • Disposable结构进行操作的using语句是否会从Test()结构框中返回?
  • 我怎样才能找到自己的答案?

为了试图找出自己,我检查了上面代码生成的IL,这里是Main(...)方法的IL :

.method private hidebysig static void Main(string[] args) cil managed
{
    .entrypoint
    .maxstack 1
    .locals init (
        [0] valuetype ConsoleApplication2.Disposable CS$3$0000)
    L_0000: call valuetype ConsoleApplication2.Disposable ConsoleApplication2.Program::Test()
    L_0005: stloc.0 
    L_0006: …
Run Code Online (Sandbox Code Playgroud)

c# struct boxing idisposable using

6
推荐指数
3
解决办法
1955
查看次数

jquery验证规则

  1. 我的手机验证取决于复选框(不,不要通过电话与我联系).如果选中此项,则不需要运行电话验证.我用Google搜索并找到了"依赖"功能.

我有

  $("#myForm").validate({
  ....
  rules: {
  phone1: {
    required: {
      depends: "!#pri_noPhone:checked"
    },
    number: true,
    minlength:3,
    }
Run Code Online (Sandbox Code Playgroud)

它不会引发错误,但仍会尝试验证电话号码.

  1. 根据规则:我如何确保电子邮件和confirmEmail是相同的?我有规则,信息分开.

validation jquery

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

13
推荐指数
4
解决办法
8880
查看次数

16
推荐指数
3
解决办法
7298
查看次数

双向密钥加密/哈希算法

我对这类事情没有经验,所以我甚至不确定关键字(因此标题).基本上我需要一个双向功能

encrypt(w,x,y) = z

decrypt(z) = w, x, y

Where w = integer 
      x = string (username)
      y = unix timestamp 
Run Code Online (Sandbox Code Playgroud)

和z =是一个8位数字(可能包括字母,规格还没有.)

我希望z不容易猜测并且易于验证.速度不是一个问题,安全也不是.跟踪一对一关系是主要要求.任何资源或方向将不胜感激.

编辑

谢谢你的答案,学到了很多东西.因此,为了澄清,8个字符是唯一的硬性要求,以及链接W < - > Z的能力.用户名(Y)和时间戳(Z)将被认为是锦上添花.

如果可能的话,我想以数学的方式做这个,而不是做一些数据库查找.

如果我今晚必须完成这个,我可以找到一个合适的哈希算法并使用一个查找表.我只是想扩大我对这类事物的理解,看看我是否可以用数学方法做到这一点.

encryption algorithm hash

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

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

PowerShell模拟为"dir/a:d"(Win)或"ls -d*/"(Bash)

我只想使用PowerShell列出当前工作目录下的所有目录.这很容易来自Bash shell:

ls -d */ 
Run Code Online (Sandbox Code Playgroud)

或Windows中的cmd.exe:

dir /a:d
Run Code Online (Sandbox Code Playgroud)

然而,使用PowerShell,我似乎无法使用单个命令来执行此操作.相反,我发现的唯一作品是:

ls | ? {$_Mode -like "d*"}
Run Code Online (Sandbox Code Playgroud)

这似乎过于冗长和涉及,我怀疑我不需要在那里单独的Where子句.Get-ChildItem的帮助并不清楚如何过滤模式.任何人都可以开导我吗?

directory powershell scripting

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

从另一个应用程序更新DotNetNuke模块

我有几个DNN模块,我希望使用从单独的应用程序(在这种情况下是Windows服务)调用的门户网站的内置模块升级工具进行静默更新.通过修改关键区域中的DNN源以允许DotNetNuke.dll在Web应用程序之外运行,我能够使用门户版本4.3完成所有工作.我现在正试图用4.9.0源代码做同样的事情,我遇到了问题.

在DNN尝试从数据库中读取之前,一切正常.我在一个VS解决方案中加载了我的Windows服务项目,DNN库项目和其他几个相关项目(其他项目与DNN源提供的主解决方案文件中的项目相同).我在我的服务中调用PaInstaller.Install来更新每个模块.执行转到reflection.vb,然后尝试根据类型名称创建一个DotNetNuke.Data.SqlDataProvider对象.它在调用System.Web.Compilation.BuildManager.GetType时引发异常.例外说:

无法从程序集'System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'加载类型'DotNetNuke.Data.SqlDataProvider'

我读到这意味着它无法找到DotNetNuke.SqlDataProvider.dll程序集.奇怪的是程序集位于DNN库项目的Bin文件夹中,我也将它放在运行Windows服务的文件夹中.实际的SqlDataProvider项目也会加载到解决方案中.我不能为我的生活理解为什么运行时环境无法定位程序集.

有没有人尝试过这样的事情,或者知道什么可能导致在通过DNN源时找不到程序集?我最好使用BuildManager.GetType以外的东西来获取SQL提供程序类型的实例吗?

vb.net asp.net dotnetnuke

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