是否有可能在尝试写入/读取之前检查管道是否损坏,所以我可以跳过它并继续该程序?
我正在利用while循环写入从父节点到多个子节点的管道.在循环过程中,几个孩子将关闭.当循环到来并尝试再次写入它们时,我的程序关闭,因为它被管道破坏后被SIGPIPE杀死.我知道管子坏了,我给孩子们编程关闭他们的管道并退出(必要).我仍然希望完成循环并继续使用该程序.我想检查管道是否损坏,如果损坏则跳过它(没有错误输出),继续执行程序(其他子代仍然需要写入).
那么,有可能吗?c中的一个例子很棒.
这是我要问的简单的伪代码表示:
int i = 0;
while(i != 5)
{
if (mypipe[WRITE] is BROKEN)
//Do Nothing ---Basically Skip
else if (some condition)
write(mypipe[WRITE]);
i++;
}
Run Code Online (Sandbox Code Playgroud)
这个问题与我之前的帖子有关,尽管我的问题背景不同.您可以在那里查看实际程序的代码.
我正在设计一个ID扫描仪,我不想要任何类型的自动更正或单元格建议,因此条形码可以正确,干净地扫描.我试图将任何这样的弹出或下拉.现在,我似乎无法找到适当的调用来禁用公式建议下拉列表.我尝试了以下行来禁用所有版本的自动更正:
Private Sub Workbook_Activate()
Application.CellDragAndDrop = False
Application.EnableAutoComplete = False
Application.AutoCorrect.AutoFillFormulasInLists = False
Application.AutoCorrect.DisplayAutoCorrectOptions = False
End Sub
Run Code Online (Sandbox Code Playgroud)
我还能尝试什么?
我正在尝试冻结Excel工作表中的前4行,但它冻结了20行.我正在使用以下VBA代码来冻结行:
Range("1:4").Select
With ActiveWindow
.FreezePanes = True
End With
Run Code Online (Sandbox Code Playgroud)
这是一个截图,添加了显示我想要的内容,以及实际发生的情况.我滚动了一下以显示冻结,你可以看到第20行跳转到36.看起来G和H之间有一条垂直冻结线,但它并不重要(可能是右边距分页符).
任何帮助表示赞赏.谢谢.