void ui_menu_control_device_image::load_software_part() { astring temp_name(swi->shortname); temp_name.cat(":"); temp_name.cat(swp->name); hook_load(temp_name, true); }
bool BingoGame::imprimir_cartones(const char* template_name) { std::string str; std::ofstream index_file; std::string temp_name(template_name); name = temp_name.substr(0, temp_name.length() - 4); index_file.open((name + ".idx").c_str()); if ( ! index_file ) { std::cerr << "toc: could not create index document" << std::endl; return false; } index_file << numero_cartones << std::endl; std::vector < std::string > temp(25); for (size_t i = 0; i < numero_cartones ; ++i) { card_shuffle(); str = ""; str = name + "-" + std::to_string(i) + ".svg"; Carton nuevo(words); if ( ! nuevo.imprimir_carta(template_name, str.c_str(), i) ) { std::cerr << "toc: could not print document(clase bingo)" << std::endl; return false; } nuevo.copiar_vector(temp); index_file << std::to_string(i) << std::endl; for (int j = 0; j < 25; ++j) index_file << temp[j] << std::endl; index_file << std::endl; } index_file.close(); //std::cerr << "se imprimio carton" << std::endl; return true; }
void *read(void *input){ struct Params *params = (struct Params*)input; int MSGBUFSIZE = 256; char msgbuf[MSGBUFSIZE]; int nbytes; int s = params->s; struct sockaddr_in addr = params->myaddr; socklen_t addrlen=sizeof(params->myaddr); while (1) { addrlen=sizeof(addr); if ((nbytes=recvfrom(s,msgbuf,MSGBUFSIZE,0,(struct sockaddr *) &addr ,&addrlen)) < 0) { perror("recvfrom"); exit(1); } msgbuf[nbytes] = 0; if(strncmp(msgbuf,"ANNOUNCE ",9) == 0){ char name[nbytes - 8]; memcpy( name, &msgbuf[9], nbytes - 9 ); name[nbytes - 8] = '\0'; std::string temp_addr(inet_ntoa(addr.sin_addr)); std::string temp_name(name); table[temp_name] = temp_addr; std::cout << "announce: " << name << std::endl; } else { std::cout << "message: " << msgbuf << std::endl; } } pthread_exit(NULL); }
int callback(void *map_ptr, int argc, char **argv, char ** azColName) { //This function returns only one row of records each time it is called static int Row_num = 1; for(int i=0; i<argc; i++) { string temp_id(azColName[i]), temp_name(argv[i]); (*(map_table *)map_ptr)[Row_num][temp_id] = temp_name; } Row_num++; return 0; }
virtual UT_Error _loadFile(GsfInput * input) { UT_Error rval = UT_ERROR; UT_String pdf_on_disk, abw_on_disk; // create temporary file names rval = temp_name (pdf_on_disk); if (rval != UT_OK) return rval; rval = temp_name (abw_on_disk); if (rval != UT_OK) return rval; GsfOutput * output = gsf_output_stdio_new (pdf_on_disk.c_str (), NULL); if (output) { // copy input to disk gboolean copy_res = gsf_input_copy (input, output); gsf_output_close (output); g_object_unref (G_OBJECT (output)); if (copy_res) { for (size_t i = 0; i < G_N_ELEMENTS(pdf_conversion_programs); i++) { if ((rval = _runConversion(pdf_on_disk, abw_on_disk, i)) == UT_OK) break; } } } // remove temporary files remove(pdf_on_disk.c_str ()); remove(abw_on_disk.c_str ()); return rval; }
autovar(register int nelt0, register int t, expptr lengp, char *name) #endif { ftnint leng; register Addrp q; register int nelt = nelt0 > 0 ? nelt0 : 1; extern char *av_pfix[]; if(t == TYCHAR) if( ISICON(lengp) ) leng = lengp->constblock.Const.ci; else { Fatal("automatic variable of nonconstant length"); } else leng = typesize[t]; q = ALLOC(Addrblock); q->tag = TADDR; q->vtype = t; if(t == TYCHAR) { q->vleng = ICON(leng); q->varleng = leng; } q->vstg = STGAUTO; q->ntempelt = nelt; q->isarray = (nelt > 1); q->memoffset = ICON(0); /* kludge for nls so we can have ret_val rather than ret_val_4 */ if (*name == ' ') unamstring(q, name); else { q->uname_tag = UNAM_IDENT; temp_name(av_pfix[t], ++autonum[t], q->user.ident); } if (nelt0 > 0) declare_new_addr (q); return(q); }
void ui_menu_control_device_image::load_software_part() { astring temp_name(sld->list_name(), ":", swi->shortname(), ":", swp->name()); hook_load(temp_name, true); }
//用户数据的初始化 bool userDatabase::userStart(){ //read int L = username.size(); char name[256]; strcpy(name,"user\\"); int j = strlen(name); for(int i = 0; i < L; i++) name[j++] = username[i]; name[j] = '\0'; fstream fr(name,ios::in); //------------用户数据的读取--------------- if(fr){ char data[2048]; int op = 0; while(!fr.eof()){ fr.getline(data,2048); if(data[0] == '#'){ op ++; } else{ if(op == 1 && data[0] != '\0'){ string temp_name(data); //cout << "can_read " << temp_name << endl; int id = FindTable(temp_name); //没有被用户读取到 if(id == -1){ kTable newTable; newTable.name = temp_name; newTable.can_read = true; myTable.push_back(newTable); } else myTable[id].can_read = true; } if(op == 2 && data[0] != '\0'){ string temp_name(data); //cout << "can_write " << temp_name << endl; int id = FindTable(temp_name); if(id == -1){ kTable newTable; newTable.name = temp_name; newTable.can_write = true; myTable.push_back(newTable); } else myTable[id].can_write = true; } if(op == 3 && data[0] != '\0'){ string temp_name(data); // kView newView; newView.viewname = temp_name; //cout << newView.viewname << endl; myView.push_back(newView); } if(op == 4 && data[0] != '\0'){ string temp_name(data); kIndex newindex; newindex.name = temp_name; //cout << newindex.name << endl; myIndex.push_back(newindex); } } } fr.close(); //----------用户表数据的读取-------------- userGetTable(); userGetView(); userGetIndex(); //---------------------------------------- } else{ ofstream fr(name); fr << "#" << endl; fr << "#" << endl; fr.close(); } //------------------------------- return true; }
int main(int argc , char *argv[]) { if (argc != 2){ std::cout << "bad arguments" << std::endl; return 1; } char* username = argv[1]; int s; if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { perror("cannot create socket"); return 0; } struct sockaddr_in myaddr; memset((char *)&myaddr, 0, sizeof(myaddr)); myaddr.sin_family = AF_INET; myaddr.sin_addr.s_addr = inet_addr(ADDRESS); myaddr.sin_port = htons(PORT); struct ip_mreq mreq; mreq.imr_multiaddr.s_addr=inet_addr(ADDRESS); mreq.imr_interface.s_addr=htonl(INADDR_ANY); int reuse = 1; if (setsockopt(s, SOL_SOCKET, SO_REUSEPORT, (const char*)&reuse, sizeof(reuse)) < 0) { fprintf(stderr, "setsockopt: %d\n", errno); return 1; } if (bind(s, (struct sockaddr *)&myaddr, sizeof(myaddr)) < 0) { perror("bind failed"); return 0; } if(setsockopt(s,IPPROTO_IP,IP_ADD_MEMBERSHIP,&mreq,sizeof(mreq))<0){ std::cout << "error" << std::endl; } pthread_t anouncer; pthread_t reader; pthread_t privatereader; int rc; struct Params params; params.username = username; params.s = s; params.myaddr = myaddr; rc = pthread_create(&anouncer, NULL, anounce, ¶ms); if (rc){ std::cout << "Error:unable to create thread," << rc << std::endl; exit(-1); } rc = pthread_create(&reader, NULL, read, ¶ms); if (rc){ std::cout << "Error:unable to create thread," << rc << std::endl; exit(-1); } rc = pthread_create(&privatereader, NULL, privateread, ¶ms); if (rc){ std::cout << "Error:unable to create thread," << rc << std::endl; exit(-1); } const char* prefix = "FROM:"; const char* suffix = " "; while(1){ char input[256]; std::cin.getline (input,256); char* p = input; int newsize = sizeof(input) + 5 + sizeof(username) + 1; char newmessage[newsize]; char * p2 = newmessage; strcpy(p2,prefix); strcat(p2,username); strcat(p2,suffix); strcat(p2,p); std::cout << p2 << std::endl; if(strncmp(p,"/",1) == 0){ //private message //parse username char * pch; pch = strtok(p," "); char name[sizeof(pch) - 1]; memcpy( name, &pch[1], sizeof(pch) - 1 ); std::string temp_name(name); std::map<std::string, std::string>::iterator it = table.find(temp_name); if (it == table.end()) std::cout << "Not in table" << std::endl; else { //if username in db //send p2 to address struct sockaddr_in si_other; int s; socklen_t slen=sizeof(si_other); int buflen = 256; if ((s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1) std::cout << "Socket error" << std::endl; memset((char *) &si_other, 0, sizeof(si_other)); si_other.sin_family = AF_INET; si_other.sin_port = htons(PORT2); if (inet_aton(it->second.c_str(), &si_other.sin_addr)==0) { fprintf(stderr, "inet_aton() failed\n"); exit(1); } if (sendto(s, p2, buflen, 0, (struct sockaddr *) &si_other, slen)==-1) std::cout << "send error" << std::endl; } } else { if ((sendto(s, p2, newsize, 0, (struct sockaddr *) ¶ms.myaddr, sizeof(params.myaddr))) < 0){ perror("Error in number of bytes"); exit(1); } } } void* status; rc = pthread_join(anouncer, &status); if (rc){ std::cout << "Error:unable to join," << rc << std::endl; exit(-1); } rc = pthread_join(reader, &status); if (rc){ std::cout << "Error:unable to join," << rc << std::endl; exit(-1); } rc = pthread_join(privatereader, &status); if (rc){ std::cout << "Error:unable to join," << rc << std::endl; exit(-1); } std::cout << "main thread ended" << std::endl; }