在D语言中,当字符串被复制时,它们不再是指向原始字符串的指针。因此,在使用'strstr'函数查找子字符串时,应该使用复制的字符串而不是原始字符串。另外,如果子字符串不存在于原始字符串中,'strstr'函数将返回'null'。

下面是修改后的代码:

import std.stdio;

void main() {
    char[] str = 'Hello World, hello world!'.dup;
    char[] one = 'world'.dup;
    char[] result = strstr(str.dup.ptr, one.ptr);
    if (result !is null) {
        writeln(result); // 输出 'world, hello world!'
    } else {
        writeln('Not found.');
    }
}

在这个版本中,我们使用'dup.ptr'来获取复制后的字符串的指针,以便在'strstr'函数中使用。然后,我们检查'result'是否为'null',如果不是,则打印找到的子字符串。否则,我们打印一个错误消息。

D语言字符串查找子字符串:strstr() 函数使用指南

原文地址: https://www.cveoy.top/t/topic/ofWw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录