Me refiero al que mas aparece de cada tipo, con esa ocnsulta me saldrian todos lo id_b
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
struct iohw {
datas *input;
int icont = 0;
datas *output;
int ocont = 0;
};
struct datas {
string name;
string type;
int longitud = 0;
string io;
string sentido;
int rango_1 = 0;
int rango_2 = 0;
};
iohw *io;
io->input = new datas[cont - 1];
io->output = new datas[cont1-1];
Cita de: EdePC en 2 Febrero 2019, 23:49 PM
Saludos,
- Anda! en ninguno de mis libros en español he encontrado algo sobre expresiones regulares en C++ , he tenido de echar mano de este otro buen libro en Inglés The C++ Standard Library 2nd Edition: https://www.mica.edu.vn/perso/Vu-Hai/EE3490/Ref/The%20C++Standard%20Library%20-%202nd%20Edition.pdf pág 717 (Chapter 14 Regular Expressions) Wow, la verdad está explicado muy bien, fácil de entender, bastante ejemplificado y práctico, comparándolo con los enigmáticos libros de Bjarne Stroustrup, pues puede ser el creador y todo pero sus libros no son sencillos de comprendername Turing
key (31)
name Pepe
key (54)
name Vlad
key (12)#include <iostream>
#include <fstream>
#include <regex>
using namespace std;
int main() {
ifstream file("example.txt");
regex n("(^name\\s)(\\w+)");
regex k("(^key\\s\\()(\\d+)(\\))");
smatch m;
string line;
while ( getline(file, line) ) {
if ( regex_search(line, m, n) ) {
cout << m[2] << endl;
} else if ( regex_search(line, m, k) ) {
cout << m[2] << endl;
}
}
file.close();
return 0;
}C:\Users\EdSon\Desktop>g++ regex.cpp -o regex.exe && regex.exe
Turing
31
Pepe
54
Vlad
12
C:\Users\EdSon\Desktop>
regex e("\\b(in )([^ ]*)");
regex r("\\b(out )([^ ]*)");
smatch m;
regex p("\\()(\\d+)(\\)");
for (int j = 0; j < ioput[i].icont; j++) {
getline(archivo, s);
while (std::regex_search(s, m, e)) {//aqui saco XXX
for (auto x : m) {
aux = x;
}
ioput[i].input[j].type = aux;
std::cout << std::endl;
s = m.suffix().str();
}
//Aqui s tiene como valor (31 down to 0)
while (std::regex_search(s, m, p)) {//aqui buscaria el 31 despues del ( pero me da error al inicializar p
for (auto x : m) {
aux = x;
}
ioput[i].input[j].longitud = stoi(aux);
cout << ioput[i].input[j].longitud;
std::cout << std::endl;
s = m.suffix().str();
}
}