循环输入string字符串怎样以0/eof结束输入

char型可以'0'来结束 但string 单引号报错,双引号0执行不了 所以到底该怎样写呢


#include<iostream>
#include<string>
#include<cctype>

using namespace std;
string str[10000];
int main() 
{    
    int i=0;
    int    j=0;
    while(cin>>str[i++]&&str[i]!="0"){

   if(islower(str[j][0]))
    str[j][0]=toupper(str[j][0]);

   int l=str[j].size();

    for(int k=01;k<l;k++){
      if(isupper(str[j][k]))
      str[j][k]=tolower(str[j][k]);
    }
    j++;
      
    }
    for(i=0;i<10000;i++) {
  if(str[i].length()==0)
   cout<<str[i]<<" ";
    }
}

把12行0换成\0试试
或 str[i].empty()