C++中如何将一个指定的字符c赋值给string数组中指定的第i个元素

C++中怎么将一个指定的字符c赋值给string数组中指定的第i个元素?
C++中
以下我写到:
string p;
char c='b';
p[0]=b;
cout<<p[0];

我就想把多个字符值依次赋值给string类对象,程序运行不了啊
因为程序需要,字符才需要一个一个赋值,求解决

------解决思路----------------------
p.push_back(c);

p += c;