问题列表 - 第43759页

删除字符串的最后一个字符,如果它是$ variable

我已经制作了一个小脚本来将标题转换为友好的url.

即:

'I am a title'
Run Code Online (Sandbox Code Playgroud)

'I_am_a_title'
Run Code Online (Sandbox Code Playgroud)

我的脚本基本上通过并将空格,撇号,逗号等等转换为下划线.

问题是,有时我的网址最终会像这样:

'i_am_a_title_'
Run Code Online (Sandbox Code Playgroud)

带尾随下划线......

所以我想,添加一点点来查看最后一个字符是否是最终结果的下划线,如果是,则交换它.

我查看了strrchr()函数,但我似乎遇到了自己理解的墙.

这种事情是如何完成的?

php string

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

在C中读取二进制文件时在数据之间获取零

我有一个二进制数据,我正在使用C程序读入一个长整数数组.

二进制数据的hexdump显示,在前几个数据点之后,它再次在20000十六进制地址之外的位置处开始.hexdump输出如下所示.

0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0020000 0000 0000 0053 0000 0064 0000 006b 0000
0020010 0066 0000 0068 0000 0066 0000 005d 0000
0020020 0087 0000 0059 0000 0062 0000 0066 0000
Run Code Online (Sandbox Code Playgroud)

...等等...但是当我通过典型fread命令将其读入长整数数组'数据'时

fread(data,sizeof(*data),filelength/sizeof(*data),fd);
Run Code Online (Sandbox Code Playgroud)

它填满了我的数据阵列中的所有零,直到它到达20000位置.之后,它正确读取数据.为什么要读取我的文件不存在的区域?或者我如何让它只读取我的文件,而不是文件之间的任何内容?

我知道它看起来像一个微不足道的问题,但即使在谷歌搜索一晚之后我也无法弄明白.任何人都可以建议我在哪里做错了吗?

其他信息:我正在研究GNU/Linux机器.(slax-atma发行版具体).我的C编译器是gcc.

c binary

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

通过"挖掘"存在域名

是否可以通过检查"dig"的输出来检查域名是否存在?在绑定源内部,我发现了这些常量:

0 DNS_R_NOEROR
1 DNS_R_FORMERR
2 DNS_R_SERVFAIL
3 DNS_R_NXDOMAIN
4 DNS_R_NOTIMP
5 DNS_R_REFUSED
6 DNS_R_YXDOMAIN
7 DNS_R_YXRRSET
8 DNS_R_NXRRSET
9 DNS_R_NOTAUTH
10 DNS_R_NOTZONE
16 DNS_R_BADVERS

<RCODE 11>     # 11 has no macro
<RCODE 12>     # 12 has no macro
<RCODE 13>     # 13 has no macro
<RCODE 14>     # 14 has no macro
<RCODE 15>     # 15 has no macro
Run Code Online (Sandbox Code Playgroud)

在我看来,NOERROR&SERVFAIL意味着主机名存在(虽然它并不意味着ip链接到它).NXDOMAIN意味着它绝对不存在.

我不喜欢使用whois因为它很慢.挖掘速度要快得多,因为我只需要确定主机名还不存在.

有人可以照亮我的假设和其他宏吗?

谢谢

dns whois dig

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

iOS兼容性

我正在发布一款iPhone应用程序,并希望它拥有尽可能多的受众.我应该用什么版本的iOS编译它?

该应用程序不使用任何新的iOS 4功能

iphone xcode objective-c ios

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

在C#中使用相等的运算符

在If语句中何时应该使用=,==运算符.有没有===运营商?这些运营商有什么区别?

c#

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

使用CSS为IE设置样式提交按钮

对于Firefox和Chrome input[type=button]:hover,input[type=submit]:hover,并input[type=button],input[type=submit]会做的工作,但做什么用IE做(8)?

@Herohtar:他们呢?怎么样?我正在使用这个CSS,他们将无法工作:

    input[type=button],input[type=submit]
{
    border-right-color: black;
    border-right-style: solid;
    border-right-width: 1px;
    border-left-color: black;
    border-left-style: solid;
    border-left-width: 1px;
    border-bottom-color: black;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-top-color: black;
    border-top-style: solid;
    border-top-width: 1px;
    text-align: center;
    font-weight: bold;
    height: 30px;
    font-family: Georgia,'Times New Roman',times,serif;
    color: #000000;
    border-radius: 4px;
    -moz-border-radius:4px;
    -webkit-border-radius:4px;
    background: #fceabb; /* old browsers */
    background: -moz-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%); /* firefox */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fceabb), color-stop(50%,#fccd4d), color-stop(51%,#f8b500), color-stop(100%,#fbdf93)); /* webkit */ …
Run Code Online (Sandbox Code Playgroud)

css internet-explorer selector

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

隐式转换:const引用vs非const引用vs非引用

考虑一下这段代码

struct A {};
struct B {  B(const A&) {} };
void f(B)
{
    cout << "f()"<<endl;
}
void g(A &a)
{
    cout << "g()" <<endl;
    f(a); //a is implicitly converted into B.
}
int main()
{
    A a;
    g(a);
}
Run Code Online (Sandbox Code Playgroud)

编译正常,运行良好.但如果我f(B)改为f(B&),它就不会编译.如果我写f(const B&),它再次编译好,运行正常.原因和理由是什么?

摘要:

void f(B);         //okay
void f(B&);        //error
void f(const B&);  //okay
Run Code Online (Sandbox Code Playgroud)

我希望听到语言规范中的原因,理由和参考,以及每种情况.当然,功能签名本身并不正确.而是A隐式地转换为Bconst B&,但不会转换为B&导致编译错误.

c++ reference const-reference implicit-conversion

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

如何在VIM中启用intellisense(gvim)

有什么方法可以在VIM(gvim)中启用intellisense.我希望将它用于STL.

c++ linux vim ubuntu

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

忽略异常类型的更好方法:多个catch块与类型查询

在某些情况下,我们希望忽略特定的异常类型(通常ObjectDisposedException).可以通过这两种方法实现:

try
{
    // code that throws error here:
}
catch (SpecificException) { /*ignore this*/ }
catch (Exception ex)
{
    // Handle exception, write to log...
}
Run Code Online (Sandbox Code Playgroud)

要么

try
{
    // code that throws error here:
}
catch (Exception ex)
{
    if (ex is SpecificException) { /*ignore this*/ }
    else
    {
        // Handle exception, write to log...
    }
}
Run Code Online (Sandbox Code Playgroud)

这两种方法的优点和缺点是什么(关于性能,可读性等)?

.net c# exception-handling

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

在C#中的Page OnInit/OnLoad上添加/删除会话变量

我正在使用C#.

我在C#中使用以下代码:

protected override void OnInit(EventArgs e)
{
    try
    {
        if (Session["boolSignOn"].ToString() == "true".ToString())              
        {              
            lblPanelOpen.Text = Session["panelOpen"].ToString();
        }
        else
        {
            lblPanelOpen.Text = Session["panelOpen"].ToString();
        }
    }
    catch (Exception ex)
    {
        Logger.Error("Error processing request:" + ex.Message);
    }
}
protected override void OnLoad(EventArgs e)
{
    try
    {
        if (!string.IsNullOrEmpty(Session["panelOpen"].ToString()))
        {
            lblPanelOpen.Text = string.Empty;
            Session.Remove("panelOpen");
        }
    }
    catch (Exception ex)
    {
        Logger.Error("Unable to remove the session variable:" + ex.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我有一个Session["panelOpen"]从另一个用户控件创建的变量,一旦我的页面尝试渲染,我将存储Session["panelOpen"]在我的隐藏lblPanelOpen.Text页面OnInit()方法中,但是当页面被完全加载时,我试图删除会话变量.

请指教!

c# asp.net session-variables

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