我已经制作了一个小脚本来将标题转换为友好的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()函数,但我似乎遇到了自己理解的墙.
这种事情是如何完成的?
我有一个二进制数据,我正在使用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.
是否可以通过检查"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因为它很慢.挖掘速度要快得多,因为我只需要确定主机名还不存在.
有人可以照亮我的假设和其他宏吗?
谢谢
我正在发布一款iPhone应用程序,并希望它拥有尽可能多的受众.我应该用什么版本的iOS编译它?
该应用程序不使用任何新的iOS 4功能
对于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) 考虑一下这段代码
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隐式地转换为B和const B&,但不会转换为B&导致编译错误.
有什么方法可以在VIM(gvim)中启用intellisense.我希望将它用于STL.
在某些情况下,我们希望忽略特定的异常类型(通常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)
这两种方法的优点和缺点是什么(关于性能,可读性等)?
我正在使用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()方法中,但是当页面被完全加载时,我试图删除会话变量.
请指教!