小编Ber*_*ron的帖子

数组的索引和argc签名

在C标准(5.1.2.2.1程序启动)说:

程序启动时调用的函数名为main.[...]
它应该定义为返回类型为int且没有参数:
int main(void) { /* ... */ }

或者有两个参数[...]:
int main(int argc, char *argv[]) { /* ... */ }

后来说:

argc的值应为非负值.

  • 为什么不应该 argc被定义为unsigned int,argc据说意思是"参数计数"?
  • 应该argc用作索引argv吗?

所以我开始想知道C标准是否说明了数组索引的类型.签了吗?

6.5.2.1数组下标:

其中一个表达式应具有类型'' 指向对象类型的指针 '',另一个表达式应具有整数类型,结果具有类型'' type ''.

它没有说明它的签名(或者我没有找到它).看到使用负数组索引(array[-1])的代码是很常见但是不是未定义的行为?

  • 数组的索引应该是无符号的吗?

c arrays unsigned signed

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

如何抑制C#警告CS0675:在符号扩展操作数上使用按位或运算符

我似乎无法摆脱以下代码行的警告:

d.word[wrdIndex++] = d.GetWord(english) | (ulong)i;
Run Code Online (Sandbox Code Playgroud)

警告适用于赋值运算符后的代码.方法GetWord返回一个ulong.我试过以下无济于事:

d.word[wrdIndex++] = (d.GetWord(english) | (ulong)i);
d.word[wrdIndex++] = d.GetWord(english) | ((ulong)i);
d.word[wrdIndex++] = ((ulong)d.GetWord(english)) | ((ulong)i);
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?

.net c# compiler-warnings

6
推荐指数
2
解决办法
2294
查看次数

图片发布不再使用facebook Graph API了

图片发布不适用于Facebook Graph API

邮件已发布但图片不是.

我正在使用Graph API在Facebook上发布到墙上.

我的代码工作得很好,张贴图片,但不再张贴图片了!

以下是CURL参数:

我发布到URL:https://graph.facebook.com/ID/feed

和POST参数是:

access_token=TheToken&message=My+Message&picture=ImgUrl
Run Code Online (Sandbox Code Playgroud)

其中:access_token是一个有效的访问令牌消息是在墙上显示的消息图片是与消息相关联的图像显示在墙上

The ID is valid and access_token is valid.
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,Facebook似乎在不通知接口网站的情况下更改其API而臭名昭着!

facebook facebook-graph-api

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

jQuery ready()函数可以为同一个元素使用两次吗?

我想对ready()文档元素使用jQuery 函数.这是我的脚本:

第1页:

$(document).ready(function(){
            $('form#haberekle').ajaxForm(options);
});
Run Code Online (Sandbox Code Playgroud)

第2页:

    $(document).ready(function() { 
    var options = { 
        success:showResponse,
        beforeSubmit:showRequest,
        resetForm:true
    };
    $('#haberresmiekleform').ajaxForm(options); 
});
Run Code Online (Sandbox Code Playgroud)

这两个页面包含在同一主页中 <!--#include file=""-->

这两个功能可以正常工作,还是相互阻挡?根据我的经验,他们似乎工作正常.

例如:onclick按钮的功能只有一个.

javascript jquery

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

从数据库更新模型(数据库优先)

我正在使用MVC3 VS2010和EF4.1,我使用SQL Server创建了我的数据库,然后将其导入MVC3 Web应用程序.

我在这里遇到了一个挑战,当我从数据库更新模型时,我确实丢失了所有模型文件修改,例如,如果我在某些模型中使用属性进行验证,或者所有这些都被新模型属性覆盖.

无论如何从数据库更新模型而不丢失模型的信息?

要么

我应该在哪里定义模型验证而不是直接使用模型的文件?

entity-framework asp.net-mvc-3

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

检查是否存在与数据库asp.net/c#的打开连接

每次我的应用程序运行存储过程时,它都会执行以下操作:

using (DbBase conn = new DbBase())
{      
    //call sproc
}
Run Code Online (Sandbox Code Playgroud)

在DBBase()打开与LINQ的连接DataContext.

我想知道的是,如果有办法知道连接是否已经打开,并使用它而不是打开一个新连接.该验证应该在DbBase()构造函数内部完成,如下所示:

ClientDB = new ClientDBDataContext([ConnectionString from web.config]);
Run Code Online (Sandbox Code Playgroud)

谢谢

c# linq database asp.net

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

将引用作为命名参数传递给可变参数函数时出现问题

我在Visual Studio 2003中遇到以下问题:

void foo(const char*& str, ...) {
    va_list args;
    va_start(args, str);

    const char* foo;
    while((foo = va_arg(args, const char*)) != NULL) {
        printf("%s\n", foo);
    }
}
Run Code Online (Sandbox Code Playgroud)

我打电话的时候:

const char* one = "one";
foo(one, "two", "three", NULL);
Run Code Online (Sandbox Code Playgroud)

我明白了:

访问冲突读取位置0xcccccccc

上printf()线- va_arg()返回0xcccccccc.我终于发现它的第一个参数是一个打破它的引用 - 如果我把它作为普通的char*一切都很好.这种类型似乎并不重要; 作为引用会导致它在运行时失败.这是VS2003的已知问题,还是某种方式存在合法行为?它不会发生在海湾合作委员会; 我还没有测试过更新的Visual Studios,看看这个行为是否会消失

c++ visual-studio-2003 reference variadic-functions visual-studio

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

用于std :: list of boost :: shared_ptr的迭代器问题

我遇到以下代码的问题:

#include <list>
#include <boost/shared_ptr.hpp>
#include "Protocol/IMessage.hpp"

template <typename HeaderType>
class Connection {
 public:
  typedef IMessage<HeaderType>             MessageType;
  typedef boost::shared_ptr<MessageType>   MessagePointer; 

  template <typename Handler>
  void
  FlushMessageQueue(Handler handler) {
    std::list<MessagePointer>::iterator ib = message_queue_.begin(); // line 69
    std::list<MessagePointer>::iterator ie = message_queue_.end();
    for (; ib != ie; ++ib) {
      AsyncWrite(*ib, handler);
    }
  }

 private:
  std::list<MessagePointer> message_queue_;
};
Run Code Online (Sandbox Code Playgroud)

gcc(4.2.1)告诉我:

include/Network/Connection.hpp: In member function 'void Network::Connection<MT>::FlushMessageQueue(Handler)':
include/Network/Connection.hpp:69: error: expected `;' before 'ib'
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我不能为MessagePointer的列表创建一个迭代器.

有任何想法吗?

谢谢.

c++ templates boost list shared-ptr

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

jQuery - 显示和隐藏电话号码的最后4个号码

如何用949XXX​​X替换它来显示和隐藏电话号码的最后4个号码,当你点击它时显示剩下的数字?

我只想用jQuery/JavaScript来做这件事.

javascript jquery

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

使用jQuery选择行的第二个单元格

我有以下HTML表格

<table>
<tr class="trSelected">
<td>One</td>
<td>two</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我只是想获得text的second column(即" two")

我试过了

$('.trSelected td').eq(2).val()
Run Code Online (Sandbox Code Playgroud)

但它重新调整一个空字符串如何通过jQuery实现?

jquery

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