it looks like when I cout \*cp, it only outputs the first letter of the string and after I put them in vector, my output is blank. what am I doing wrong?

```
//write a program to assign the elements from a list of char* pointers to c-style character strings to a vector of strings
#include <iostream>
#include <cstring>
#include <vector>
#include <list>
#include <string>
using namespace std;
int main ()
{
    list<const char*> clist;
    cout<<"please enter a string"<<endl;
    for(string s; getline(cin,s); )
    {   
        const char* cp=s.c_str();
        clist.push_back(cp);
        cout<<*cp;
    }
    cout<<*clist.begin();
    vector<string> svec;
    svec.assign(clist.begin(),clist.end());
    for(vector<string>::iterator iter=svec.begin(); iter!=svec.end(); ++iter)
        cout<<*iter<<endl;
return 0;
}

```