Я хочу проверить, завершена ли строка var символом '\ n' или нет, чтобы обнаружить и удалить некоторые неполные входящие переменные из сокета async потока. Кажется, что следующий код работает неправильно. Зачем ?C++ test последний символ строки
string var;
char *rest = nullptr;
char *pVar = nullptr;
istringstream iss(sReadBuffer); // Put into a stream
while (getline(iss, var)) // Default delimiter '\n' or EOF
{
int size = var.size();
pVar = _strdup(var.c_str()); // Cast string to char * for later use (strstr,...)
if(var[size] != '\n') // If incomplete variable found (not newline ended)...
{
debug("Incomplete variable found : ", pVar, "\n");
rest = pVar;
break;
}
//... proceed with variable normally if they are complete
Я все еще понимаю, как 'getline' сохранил новую строку. – WhozCraig