Я попытался найти в массиве значение, поступающее с сервера java. Сервер отправляет данные после нажатия кнопки, и это значение принимается в estratto
, который является массивом символов. Мне нужно найти estratto
в массив строк numeri
или в строковую переменную number
.Как получить значение в массив с помощью C++?
Как я могу это сделать?
Вот мой код: "Trovato"
char estratto[2048];
int pos=-1;
char message[2048] = "";
//-- some code
while(recv(sock, buff, sizeof(buff),0) > 0){
strcat(message,buff); // received message form client
}
//-- some code
//-- divided message into a string array
istringstream iss(message);
string token;
string numeri[15];
int i=0,j=0,e=0;
while (std::getline(iss, token, ','))
{
numeri[i]= token.c_str();
i++;
}
//-- the part that has problems
string number(message);
while(recv(sock, estratto, sizeof(estratto),0)>0){
for(i=0; i<15; i++){
pos=number.find(estratto);
if(pos>0)
cout<<"TROVATO!"<<endl;
if(strcmp(numeri[i].c_str(),estratto)==0){
trovati_cartella[i]=1;
cout<<"TROVATO!"<<endl;
}
}
}
соиЬ < < < < endl; не работает, если я попытаюсь изменить некоторые части этого кода. Кто-то может помочь мне найти решение?
Что вы подразумеваете под "не работает"? Вы ничего не получаете? Неправильный вывод? Построить ошибки? Пожалуйста, уточните и сообщите нам подробности. Также укажите типы всех задействованных переменных и, возможно, их инициализацию. –
О, и, кстати, вы знаете, что строки C-стиля (которые, я полагаю, вы получаете с сервера) должны быть прерваны символом '' \ 0''? Получены ли данные, которые вы получили, таким образом? –
@JoachimPileborg Я не вижу выход 'cout <<" Trovato! " << endl; ' –