struct x {
char a[10];
char b[20];
int i;
char *c;
char *d[10];
};
Run Code Online (Sandbox Code Playgroud)
我正在填充此结构,然后使用值.在下一次迭代中,我想在重新开始重用之前0
或null
之前重置所有字段.
我怎样才能做到这一点?我可以使用memset
或者必须通过所有成员然后单独进行吗?
我是(一个完整的Perl新手)在if
声明中进行字符串比较:
如果我这样做:
if ($str1 == "taste" && $str2 == "waste") { }
Run Code Online (Sandbox Code Playgroud)
我看到了正确的结果(即如果条件匹配,则评估"then"块).但我看到这些警告:
参数"taste"在行号x的数字eq(==)中不是数字.
参数"waste"在行号x的数字eq(==)中不是数字.
但如果我这样做:
if ($str1 eq "taste" && $str2 eq "waste") { }
Run Code Online (Sandbox Code Playgroud)
即使满足if条件,它也不会评估"then"块.
在这里,$str1
是taste
和$str2
是waste
.
我该怎么解决这个问题?
我可以向信号处理程序提供/传递任何参数吗?
/* Signal handling */
struct sigaction act;
act.sa_handler = signal_handler;
/* some more settings */
Run Code Online (Sandbox Code Playgroud)
现在,处理程序看起来像这样:
void signal_handler(int signo) {
/* some code */
}
Run Code Online (Sandbox Code Playgroud)
如果我想做一些特殊的事情,即删除临时文件,我可以将这些文件作为参数提供给这个处理程序吗?
编辑0:谢谢你的回答.我们通常避免/不鼓励使用全局变量.在这种情况下,如果你有一个庞大的程序,在不同的地方可能会出现问题,你可能需要进行大量的清理工作.为什么API以这种方式设计?
为什么strlen()
不检查NULL?
如果我这样做strlen(NULL)
,就会出现故障.
试图了解它背后的基本原理(如果有的话).
什么是tlv?
将钩子(函数)放在代码而不是if/else中?
如果我在不同的平台上运行一段代码,在代码的不同位置,我可以放置tlv函数钩子来识别我所在的平台并做相应的操作?或类似的东西?
好处可以更清洁代码?容易维护?添加新平台时,只需更改tlv代码而不是源代码?
我在这里可能完全错了.
const char* a;
Run Code Online (Sandbox Code Playgroud)
如何确保字符串'a'为空终止?当a ="abcd"并且我做sizeof(a)时,我得到4.这是否意味着它不是以null结尾?如果是的话,我会得到5?
我应该怎么用,当我要复制src_str
到dst_arr
,为什么?
char dst_arr[10];
char *src_str = "hello";
Run Code Online (Sandbox Code Playgroud)
PS:我的头正在读的东西很多关于如何纺纱后比我的电脑硬盘快好或坏的strncpy
和strlcpy
.
注意:我知道strlcpy
无处不在.这不是问题所在.
我试图了解它是如何grep
工作的.
当我说grep "hello" *.*
,确实grep
得到2个参数 - (1)要搜索的字符串,即"你好"和(2)路径*.*
?或者shell转换*.*
成grep
可以理解的东西?
我在哪里可以获得源代码grep
?我遇到了这个GNUgrep
链接.其中一个README文件说它与...不同unix grep
.怎么会这样?
我想看一下FreeBSD版本的源代码grep
以及它的Linux版本(如果它们不同的话).
我在这里想到了很多不同的看法.
我看了man mktime
:
(A positive or zero value for tm_isdst causes mktime() to presume initially
that summer time (for example, Daylight Saving Time) is or is not in
effect for the specified time, respectively. A negative value for
tm_isdst causes the mktime() function to attempt to divine whether summer
time is in effect for the specified time.
Run Code Online (Sandbox Code Playgroud)
我的问题是,不tm_isdst
应该-1
让系统决定它的dst是否与代码成为dst不可知的那样?
我错过了什么吗?
如何在C中的指令中编写for
/ while
loop #define
?