在C中的某个字符之后从字符串中删除文本

Remove text from string after a certain character in C

我正在从文件中读取行,行如下所示:

89f81a03eb30a03c8708dde38cf:000391716

问题是:我想删除 : 之后的所有内容(包括 :)。 我尝试了所有我能在网上找到的东西,但他们似乎使用 const char 并且这些行是 char 指针。

您可以使用 strchr:

char str[] = "89f81a03eb30a03c8708dde38cf:000391716";
char *ptr;

ptr = strchr(str, ':');
if (ptr != NULL) {
    *ptr = '[=10=]';
}