小编Jac*_*ack的帖子


为什么*p ++与*p + = 1不同?

考虑:

void foo1(char **p) { *p++; }
void foo2(char **p) { *p += 1; }
Run Code Online (Sandbox Code Playgroud)

char *s = "abcd";
char *a = s; 
foo1(&a); 
printf("%s", a); //abcd
Run Code Online (Sandbox Code Playgroud)

但如果我使用foo2()而不是:

char *a = s; 
foo2(&a); 
printf("%s", a); //bcd
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下吗?

c

46
推荐指数
2
解决办法
8699
查看次数

错误:粘贴"." 并且"red"不提供有效的预处理令牌

我正在实现X宏,但我有一个简单的宏扩展问题.通过在this文章中包含,该宏(见下文)用于几个宏用法示例.编译器给出了一条错误消息,但我可以通过使用-E带有GCC编译器的标志来查看有效的C代码.

宏X列表定义如下:

#define LIST \
  X(red, "red") \
  X(blue, "blue") \
  X(yellow, "yellow")
Run Code Online (Sandbox Code Playgroud)

然后:

#define X(a, b) foo.##a = -1;
  LIST;
#undef X
Run Code Online (Sandbox Code Playgroud)

但是gcc给出了以下错误消息:

lixo.c:42:1: error: pasting "." and "red" does not give a valid preprocessing token
lixo.c:42:1: error: pasting "." and "blue" does not give a valid preprocessing token
lixo.c:42:1: error: pasting "." and "yellow" does not give a valid preprocessing token
Run Code Online (Sandbox Code Playgroud)

就像我说的,我可以通过使用-Egcc上的开关看到有效的C代码:

lixo.c:42:1: error: pasting "." and "red" does not give a …
Run Code Online (Sandbox Code Playgroud)

c macros c-preprocessor

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

找不到命名空间'System.Data.SqlServerCe'

我确实包含了System.Data.SqlServerCedll,放入using System.Data.SqlServerCe;了我的代码,但是当我打开.NET页面时,我得到:

名称空间'System.Data'中不存在类型或命名空间名称'SqlServerCe'(您是否缺少程序集引用?)

我不知道如何解决这个问题.提前致谢.

c# asp.net visual-studio-2008 sql-server-ce

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

无法找到套接字传输"ssl" - 您是否忘记在配置PHP时启用它?

我正在谷歌上搜索这个错误很多小时.我没有运气就尝试过这个主题的所有解决方案.<? phpinfo(); ?>(唯一的区别是我使用的是Appserver而不是IIS)它没有显示任何与SSL相关的内容.我还应该尝试什么?

完整的错误消息:

<b>Warning</b>:  fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport &quot;ssl&quot; - did you forget to enable it when you configured PHP?) in <b>C:\AppServ\www\webgitz\test\class.smtp.php</b> on line <b>122</b><br />
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (27010016)
Run Code Online (Sandbox Code Playgroud)

和代码:

<?php 

require_once "validation.php";

require_once "PHPMailer.php";


require_once "class.smtp.php";

$email= "foo@gmamcil.com";

$mail = …
Run Code Online (Sandbox Code Playgroud)

php sockets windows apache ssl

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

如何删除此警告:'va_start'的第二个参数不是最后命名的参数?

我有一个发出以下警告的功能(见下文):

'va_start'的第二个参数不是最后命名的参数

它意味着什么以及如何删除它?

功能如下:

static int  ui_show_warning(GtkWindow *parent, const gchar *fmt, size_t size, ...)
    {
      GtkWidget *dialog = NULL;
      va_list args = NULL;
      int count = -1;
      char *msg = NULL;

      if((msg = malloc(size + 1)) == NULL)
        return -12;

      va_start(args, fmt);

      if((count = snprintf(msg, size, fmt, args)) < 0)
        goto outer;

      dialog = gtk_message_dialog_new(parent,
                      GTK_DIALOG_DESTROY_WITH_PARENT,
                      GTK_MESSAGE_WARNING,
                      GTK_BUTTONS_OK,
                      "%s", msg);
      (void) gtk_dialog_run(GTK_DIALOG(dialog));

      gtk_widget_destroy(dialog);

     outer: {
        if(args != NULL)
          va_end(args);

        if(msg != NULL)
          free(msg);

        return count;
      }
    }
Run Code Online (Sandbox Code Playgroud)

c linux gcc

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

Asp.net Hyperlink控件相当于<a href="#"> </a>

我想在asp.net中定义一个HyperLink控件,它产生类似于以下内容的html输出:

<a href="#"></a>
Run Code Online (Sandbox Code Playgroud)

但无法弄清楚如何.如果有人能提供帮助,我将感激不尽.
提前致谢.

asp.net hyperlink

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

memset(&mystruct,0,sizeof mystruct)与mystruct = {0}相同;?

我正在读取默认情况下数组/结构的初始值,并有这个问题:

memset(&mystruct, 0, sizeof mystruct)一样的mystruct = { 0 };

如果不是,有什么区别?

c struct

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

我如何使用strcasestr()?

#include <string.h>但是当我打电话时,strcasestr(src, search);我收到以下错误消息implicit declaration of function ‘strcasestr’.我该如何编译:gcc-4.6 -Wall -lsqlite3 -lunac -Werror -O2 -o foo.out foo.c如何解决这个问题?提前致谢.

c string gcc

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

如何在字典中的第一个索引中插入元素?

是否有一种方法或技术允许您插入元素以 Dictionary<TKey, TValue>保证该项位于该字典的KeyCollection的第一个索引中.

例如:

Dictionary<String, String> dic = foo.GetOutput(); 

// `dic` is something like:

// {"foo", "baa"},
// {"a", "b"}
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西:

dic.Add("key", "value", 0);
// where `0` is the index that `key` to be inserted.

foreach(KeyValuePair<String, String> key in dic) 
{
     Console.WriteLine("{0} = {1}", key.Key, key.Value);
}
Run Code Online (Sandbox Code Playgroud)

输出:

key = value
foo = baa
a = b
Run Code Online (Sandbox Code Playgroud)

很感谢任何形式的帮助.提前致谢!

.net c# dictionary

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