gpt4 book ai didi

c - 如何获取电子邮件地址的开头

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:52 25 4
gpt4 key购买 nike

我有两个字符串,一个是电子邮件地址,另一个是空的。如果电子邮件地址是"abc123@gmail.com",我需要将电子邮件地址的开头传递到第二个字符串中的 @ 之前。例如:

第一个字符串:"abc123@gmail.com"

第二个字符串:"abc123"

我写了一个循环,但它不起作用:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char email[256] = "abc123@gmail.com";
char temp[256];
int i = 0;

while (email[i] != '@')
{
temp = strcat(temp, email[i]);
i++;
}

printf ("%s\n", temp);
system ("PAUSE");
return 0;
}

基本上,我每次都从电子邮件地址中取出一个字符,并将其添加到新字符串中。例如,如果新字符串上有 a,现在我也将使用 strcat....

b 放在一起。

最佳答案

指针。首先, strcat() 返回一个 char 指针,由于某些原因(我听说 all C programmers must know ),C 无法将其转换为 char 数组。其次,strcat() 的第二个参数应该是一个字符指针,而不是一个字符。

temp = strcat(temp, email[i]); 替换为 temp[i] = email[i]; 应该可以解决问题。

另外,在循环结束后,以空字符终止字符串。

temp[i] = '\0';

(循环结束后,i 等于你提取的字符串的长度,所以 temp[i] 是终端应该去的地方。)

关于c - 如何获取电子邮件地址的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10960958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com