EDIT:
I'd like to write program that takes line of text and two characters from user, then connects characters and searches substring in line of text.
INPUT:
abababab
a
b
OUTPUT
0
I've written some code, but it returns the wrong index.
So this is struct where I keep data
struct my_msg
{
char character1[3];
char character2[3];
char line[255];
};
then I collect the data from the user
fgets(msg.linie, 255, stdin);
msg.line[strcspn(msg.line, "
")] = 0;
fgets(msg.character1, 3, stdin);
msg.character1[strcspn(character1, "
")] = 0;
fgets(msg.character2, 3, stdin);
msg.character2[strcspn(msg.character2, "
")] = 0;
then I combine characters by strcat:
char control[10];
strcat(control, msg.character1);
strcat(control, msg.character2);
and I'm looking for an occurrence in string by strstr function
char *result;
char *str = msg.line;
long position;
if((result = strstr(str, control)) != NULL)
{
position = result-str;
index = strlen(str) - position;
printf("%d", index);
}
but still not working.
question from:
https://stackoverflow.com/questions/65851789/strstr-function-does-not-return-a-pointer-to-the-first-occurrence 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…