C++ 从文件读取到字符串并传递到函数

C++ 从文件读取到字符串并传递到函数,c++,C++,当我试图传递一个包含getline()语句内容的字符串时,我在试图理解为什么会在本节中引发异常时遇到一些问题 `reference operator[](const size_type _Off) { // subscript mutable sequence auto& _My_data = this->_Get_data(); _IDL_VERIFY(_Off <= _My_data._Mysize, "string subscript out of range");

当我试图传递一个包含getline()语句内容的字符串时,我在试图理解为什么会在本节中引发异常时遇到一些问题

`reference operator[](const size_type _Off)
{   // subscript mutable sequence
auto& _My_data = this->_Get_data();
_IDL_VERIFY(_Off <= _My_data._Mysize, "string subscript out of range");
return (_My_data._Myptr()[_Off]);
}`

void set_token(string n);
    string token;

        while (fin.peek() != '0' && !fin.eof())
        {
            getline(fin, token);
            set_token(token);
        }

`void set_token(string n)
{
    string strarray[20];
    string token;
    int size = sizeof(n);
    int i = 0;
    int j = 0;
    while (i < size)
    {
        if (n[i] != ' ' && n[i] != '\0')
        {
            token += n[i];
        }
        else
        {
            strarray[j] = token;
            j++;
            token.clear();
            lexical(strarray[j]);
        }
        i++;
    }`
`reference操作符[](const size\u type\u Off)
{//下标可变序列
auto&_My_data=this->_Get_data();

_IDL_VERIFY(_Off我在getline()中没有发现任何问题,但是在set_token()中,当您提取n的大小时,存在明显的运行时问题。sizeof不会给出字符串中的总字符数,但size()会给出

试试这个:
size=n.size():

您没有向我们展示
set\u-token
函数!!!@john它甚至在
set\u-token
函数中执行命令之前就崩溃了。
int-size=sizeof(n);
super-break.\n经常给我们的建议是对此类问题使用调试器。它会很快发现问题