Скажем, у меня есть файл:Проверьте, находится ли подстрока в строке более одного раза?
f56,5 d23,4
И я Получение значения после «F» и запятой (и то же самое с г), поэтому я делаю это: (While чтение в файл с помощью fgets)
while (fgets(buf,100,file) != NULL)
{
temp = strstr(buf,"f"); //where temp is a (char *)
if(temp != NULL)
{
//An int defined previously
x = atol(temp+1); //get the value 56
temp = strstr(buf,","); //get the value 5
y = atol(temp+1); //get the value 5
}
temp = strstr(buf,"d");
if(temp != NULL)
{
a = atol(temp+1); //get the value 24
temp = strstr(buf,","); //get the value 4?
b = atol(temp+1); //get the value 4?
}
}
Такого рода работ, однако, величина а и Ь не правильно, иногда верно, однако б всегда значение у (предыдущее значение запятой) , Я не совсем уверен, как продолжить здесь, я пробовал использовать другой указатель для использования strstr
в коде, но это, похоже, не работает, любая помощь будет принята с благодарностью.
Вы имели в виду, что получили бы значение 4 здесь? не 5? – user3739406
@ user3739406 Да, вы получите '4'. – dasblinkenlight