小编Kla*_*. S的帖子

Objective C - 循环遍历NSArray,其中所有对象都继承自相同的协议

我有一个NSArray,其中所有对象都从相同的协议继承方法.我想做的是:

NSArray* arr =  [NSArray arrayWithObjects:[Type_1 init],[Type_2 init], nil];

for(Protocol *element in arr)
{
  [element do_this];
}
Run Code Online (Sandbox Code Playgroud)

arr是具有对象Type_1和Type_2的数组,它们都从名为Protocol的协议继承.

问题是协议不能用作for循环中的类型.我该如何解决这个问题?

types protocols objective-c for-in-loop

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

这段C代码是否可以编译?

我的C编程老师声称这是C中while循环的正确声明.

int main(int argc, char *argv[])
{
    while()
    {
        fork();
    }
}
Run Code Online (Sandbox Code Playgroud)

据他说,它与写作完全相同:

int main(int argc, char *argv[])
{
    while(1)
    {
        fork();
    }
}
Run Code Online (Sandbox Code Playgroud)

'while()'代码是否可以在任何C标准中编译?

c while-loop

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

是否有sscanf的变体,指针指向输入字符串而不是缓冲区?

sscanf 像这样工作:

int main(const int argc, const char *argv[]) {
    char buf1[1024] = {0};
    char buf2[1024] = {0};
    char buf3[1024] = {0};
    char *str = "abc, 123; xyz";
    sscanf(str, "%[^,], %[^;]; %s", buf1, buf2, buf3);
    printf("'%s' '%s' '%s'", buf1, buf2, buf3); // Prints: "'abc' '123' 'xyz'"
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个函数不需要将内容复制str到buffers(buf1, buf2, buf3)中,也不需要分配任何新的内存.相反,它只是将指针(ptr1, ptr2, ptr3)设置为指向匹配的部分,str并且null终止匹配后的任何内容.

int main(const int argc, const char *argv[]) {
    char *ptr1 = NULL;
    char *ptr2 = NULL;
    char *ptr3 …
Run Code Online (Sandbox Code Playgroud)

c parsing scanf tokenize

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

标签 统计

c ×2

for-in-loop ×1

objective-c ×1

parsing ×1

protocols ×1

scanf ×1

tokenize ×1

types ×1

while-loop ×1