Вы перебираете символы, но сравниваете символ (char) с (const char *).
Вы должны сравнивать его с символом '#'.
#include <iostream>
using namespace std;
int main() {
string S = "a#b#";
for( int i=0; i< S.length(); i++){
if(S[i] == '#') // here <--
//do somethng
}
return 0;
}
Вы можете упростить это до диапазона, основанного на l oop:
#include <iostream>
using namespace std;
int main() {
string S = "a#b#";
for(char character : S){
if(character == '#')
//do somethng
}
return 0;
}