Search Results

Search found 10366 results on 415 pages for 'const char pointer'.

Page 374/415 | < Previous Page | 370 371 372 373 374 375 376 377 378 379 380 381  | Next Page >

  • How do virtual destructors work?

    - by Jack
    I am using gcc. I am aware how the virtual destructors solve the problem when we destroy a derived class object pointed by a base class pointer. I want to know how do they work? class A { public: A(){cout<<"A constructor"<<endl;} ~A(){cout<<"A destructor"<<endl;} }; class B:public A { public: B(){cout<<"B constructor"<<endl;} ~B(){cout<<"B destructor"<<endl;} }; int main() { A * a = new B(); delete a; getch(); return 0; } When I change A's destructor to a virtual function, the problem is solved. What is the inner working for this. Why do I make A's destructor virtual.

    Read the article

  • php parsing csv with ftell

    - by Robert82
    I have a 500mb csv file with over 500,000 lines, each with 80 fields. I am using fget to process the file line by line. $col1 = array(); while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) { $col1[] = $row[0]; } Because of an execution time limit on the PHP file by my hosting provider (120 seconds), I can't process the whole file in one run. I tried using ftell() and fseek() to remember the last position for restart. The trouble is, sometimes the ftell() position is in the middle of a row, and resuming means missing the first half of the row. Is there an elegant way to know the last line successfully processed, and resume from the one after it? I realize I can do a simple counter, and then loop through to that point again, but that would produce diminishing returns on the rows I can process towards the end of the file. Is there something like ftell() and fseek() that would work in my case? Or a way to limit ftell() to return the pointer for the end of the previous line?

    Read the article

  • Checking if a function has C-linkage at compile-time [unsolvable]

    - by scjohnno
    Is there any way to check if a given function is declared with C-linkage (that is, with extern "C") at compile-time? I am developing a plugin system. Each plugin can supply factory functions to the plugin-loading code. However, this has to be done via name (and subsequent use of GetProcAddress or dlsym). This requires that the functions be declared with C-linkage so as to prevent name-mangling. It would be nice to be able to throw a compiler error if the referred-to function is declared with C++-linkage (as opposed to finding out at runtime when a function with that name does not exist). Here's a simplified example of what I mean: extern "C" void my_func() { } void my_other_func() { } // Replace this struct with one that actually works template<typename T> struct is_c_linkage { static const bool value = true; }; template<typename T> void assertCLinkage(T *func) { static_assert(is_c_linkage<T>::value, "Supplied function does not have C-linkage"); } int main() { assertCLinkage(my_func); // Should compile assertCLinkage(my_other_func); // Should NOT compile } Is there a possible implementation of is_c_linkage that would throw a compiler error for the second function, but not the first? I'm not sure that it's possible (though it may exist as a compiler extension, which I'd still like to know of). Thanks.

    Read the article

  • Determining difference in timestamps for two values in the same MySQL table

    - by JayRizzo03
    I am relatively new to programming in PHP, so I apologize if this is a rather simple question. I have a MySQL database table called MachineReports that contains the following values: ReportNum(primary key, auto increment), MachineID and Timestamp Here is some example data: |ReportNum | MachineID | Timestamp | |1 | AD3203 | 2012-11-18 06:32:28| |2 | AD3203 | 2012-11-19 04:00:15| |3 | BC4300 | 2012-11-19 04:00:15| What I am attempting to do is find the difference in timestamps in seconds for each machine ID by iterating over each row set. I am getting stuck on the best way to do this, however. Here is the code I've written so far: <?php include '../dbconnect/dbconnect.php'; $machineID=[]; //Get a list of all MachineIDs in the database foreach($dbh->query('SELECT DISTINCT(MachineID) FROM MachineReports') as $row) { array_push($machineID, $row[0]); } for($i=0;$i<count($machineID);$i++){ foreach($dbh->query("SELECT MachineID FROM MachineReports WHERE MachineID='$machineID[$i]' ORDER BY MachineID") as $row) { //code to associate each machineID with two time stamps goes here } } ? This code just lists out the contents of the table row by row. My ultimate goal is to find the difference in timestamps for a certain MachineID. One of the things I've considered is using a multidimensional array in php - using the $machineID as the key and then storing the timestamp inside the array the key points to. However, I'm uncertain how to do that since my query parses row by row. I have quite a few questions. 1) Is this the most efficient way to be doing this? I suspect my database table design may not be the best. 2)What would be the best way to determine the difference in timestamps for a certain machineID? Even just a pointer to a topic that would prompt me to think about this in a different way would be helpful - I'm not afraid to do research. Thanks!

    Read the article

  • make it simpler and efficient

    - by gcc
    temp1=*tutar[1]; //i hold input in char *tutar[] if(temp1!='x'||temp1!='n') arrays[1]=malloc(sizeof(int)*num_arrays); //if second input is int a=0; n=i; for(i=1;i<n;++i) { temp1=*tutar[i]; if(temp1=='d') { ++i; j=atoi(tutar[i]); free(arrays[j]); continue; } if(temp1=='x') break; if(temp1=='n')//if it is n { a=0; ++j; arrays[j]=malloc(sizeof(int)*num_arrays);//create and allocate continue; } ++a; if(a>num_arrays) //resize the array arrays[j]=realloc(arrays[j],sizeof(int)*(num_arrays+a)); *(arrays[j]+a-1)=atoi(tutar[i]); printf("%d",arrays[1][1]); } arrays is pointer when you see x exit you see n create (old one is new array[a] new one is array[i+1]) you see d delete arrays[i] according to int after d first number is size of max arrays and where is the error in code input is composed from int and n d x i make a program -taking input(first input must be int) -according to input(there is comman in input like n or d or j , i fill array with number and use memory efficiently -j is jumb to array[x] ( x is int coming after j in input)

    Read the article

  • Doubt in switch case

    - by user302593
    Hi.. When i executes the following program it get the user input for account details and then print it correctly...But it cannot read the opt value(y/n)..it automatically calls again..i want to exit the program when i press n value... please help to solve this problem.. char opt; do { //Getting user input printf("\n Enter the Account Number:\n "); scanf("%d",&gAccNo_i); printf("\n Enter the Account Holder's Name:\n "); scanf("%s",gCustName_c); printf("\n Enter the Balance Amount:\n "); scanf("%f",&gBlncAmt_f); //Printing the inputted data. printf("\n Account Number : %d",gAccNo_i); printf("\n Customer Name : %s",gCustName_c); printf("\n Balance Amount : %f",gBlncAmt_f); printf("\n Do u want to wish to continue?(y/n)"); scanf("%c",&opt); }while(opt!='n');

    Read the article

  • Why this doesnt't work in C++?

    - by user3377450
    I'm doing something and I have this: //main.cpp file template<typename t1, typename t2> std::ostream& operator<<(std::ostream& os, const std::pair<t1, t2>& pair) { return os << "< " << pair.first << " , " << pair.second << " >"; } int main() { std::map<int, int> map = { { 1, 2 }, { 2, 3 } }; std::cout << *map.begin() << std::endl;//This works std::copy(map.begin(), map.end(), std::ostream_iterator<std::pair<int,int> >(std::cout, " "));//this doesn't work } I guess this is not working because in the std::copy algorithm the operator isn't defined, but what can I do?

    Read the article

  • MySQL Check and compare and if necessary create data.

    - by user2979677
    Hello I have three different tables Talk ID type_id YEAR NUM NUM_LETTER DATE series_id TALK speaker_id SCRIPREF DONE DOUBLE_SID DOUBLE_TYP LOCAL_CODE MISSING RESTRICTED WHY_RESTRI SR_S_1 SR_E_1 BCV_1 SR_S_2 SR_E_2 BCV_2 SR_S_3 SR_E_3 BCV_3 SR_S_4 SR_E_4 BCV_4 QTY_IV organisation_id recommended topic_id thumbnail mp3_file_size duration version Product_component id product_id talk_id position version Product id created product_type_id last_modified last_modified_by num_sold current_stock min_stock max_stock comment organisation_id series_id name subscription_type_id recipient_id discount_start discount_amount discount_desc discount_finish discount_percent voucher_amount audio_points talk_id price_override product_desc instant_download_status_id downloads instant_downloads promote_start promote_finish promote_desc restricted from_tape discontinued discontinued_reason discontinued_date external_url version I want to create a procedure that will check if select the id from talk and compare it with the id of product to see if there is a product id in the table and if there isn't then create it however my problem is that my tables talk and product can't talk, as id in talk is related to talk_id in product_component and id in product is related to product_id in product_component. Are there any ways for this to be done? I tried this, CREATE DEFINER=`sthelensmedia`@`localhost` PROCEDURE `CreateSingleCDProducts`() BEGIN DECLARE t_id INT; DECLARE t_restricted BOOLEAN; DECLARE t_talk CHAR(255); DECLARE t_series_id INT; DECLARE p_id INT; DECLARE done INT DEFAULT 0; DECLARE cur1 CURSOR FOR SELECT id,restricted,talk,series_id FROM talk WHERE organisation_id=2; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; UPDATE product SET restricted=TRUE WHERE product_type_id=3; OPEN cur1; create_loop: LOOP FETCH cur1 INTO t_id, t_restricted, t_talk, t_series_id; IF done=1 THEN LEAVE create_loop; END IF; INSERT INTO product (created,product_type_id,last_modified,organisation_id,series_id,name,restricted) VALUES (NOW(),3,NOW(),2,t_series_id,t_talk,t_restricted); SELECT LAST_INSERT_ID() INTO p_id; INSERT INTO product_component (product_id,talk_id,position) VALUES (p_id,t_id,0); END LOOP create_loop; CLOSE cur1; END Just wondering if anyone could help me.

    Read the article

  • QMetaMethod for regular methods missing?

    - by oleks
    Hi, I'm new in QT, and I'm just testing out the MOC. For a given class: class Counter : public QObject { Q_OBJECT int m_value; public: Counter() {m_value = 0;} ~Counter() {} int value() {return m_value;} public slots: void setValue(int value); signals: void valueChanged(int newValue); }; I want to get a list of all methods in a class, but seem to only be getting a list of signals and slots, although the documentation says it should be all methods? Here's my code: #include <QCoreApplication> #include <QObject> #include <QMetaMethod> #include <iostream> using std::cout; using std::endl; int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); const QMetaObject cntmo = Counter::staticMetaObject; for(int i = 0; i != cntmo.methodCount(); ++i) { QMetaMethod qmm(cntmo.method(i)); cout << qmm.signature() << endl; } return app.exec(); } Please beware this is my best c/p, perhaps I forgot to include some headers. My output: destroyed(QObject*) destroyed() deleteLater() _q_reregisterTimers(void*) valueChanged(int) setValue(int) Does anyone know why this is happening? Does qt not recognise int value() {return m_value;} as a valid method? If so, is there a macro I've forgotten or something like that? P.S. I'm using 4.6.2

    Read the article

  • Another C++ question, delete not working?

    - by kyeana
    New to c++, and am having a problem with delete and destructor (I am sure i am making a stupid mistake here, but haven't been able to figure it out as of yet). When i step through into the destructor, and attepmt to call delete on a pointer, the message shows up "Cannot access memory at address some address." The relevant code is: /* * Removes the front item of the linked list and returns the value stored * in that node. * * TODO - Throws an exception if the list is empty */ std::string LinkedList::RemoveFront() { LinkedListNode *n = pHead->GetNext(); // the node we are removing std::string rtnData = n->GetData(); // the data to return // un-hook the node from the linked list pHead->SetNext(n->GetNext()); n->GetNext()->SetPrev(pHead); // delete the node delete n; n=0; size--; return rtnData; } and /* * Destructor for a linked node. * * Deletes all the dynamically allocated memory, and sets those pointers to 0. */ LinkedListNode::~LinkedListNode() { delete pNext; // This is where the error pops up delete pPrev; pNext=0; pPrev=0; }

    Read the article

  • HELP IN JAVA!! URGENT

    - by annayena
    The following function accepts 2 strings, the 2nd (not 1st) possibly containing *'s (asterisks). An * is a replacement for a string (empty, 1 char or more), it can appear appear (only in s2) once, twice, more or not at all, it cannot be adjacent to another * (ab**c), no need to check that. public static boolean samePattern(String s1, String s2) It returns true if strings are of the same pattern. It must be recursive, not use any loops, static & global variables. Also it's PROHIBITED to use the method equals in the String class. Can use local variables & method overloading. Can use only these methods: charAt(i), substring(i), substring(i, j), length(). Examples: 1: TheExamIsEasy; 2: "The*xamIs*y" --- true 1: TheExamIsEasy; 2: "Th*mIsEasy*" --- true 1: TheExamIsEasy; 2: "*" --- true 1: TheExamIsEasy; 2: "TheExamIsEasy" --- true 1: TheExamIsEasy; 2: "The*IsHard" --- FALSE I am stucked on this question for many hours now! I need the solution in Java please kindly help me.

    Read the article

  • What encoding does c32rtomb convert to?

    - by R. Martinho Fernandes
    The functions c32rtomb and mbrtoc32 from <cuchar>/<uchar.h> are described in the C Unicode TR (draft) as performing conversions between UTF-321 and "multibyte characters". (...) If s is not a null pointer, the c32rtomb function determines the number of bytes needed to represent the multibyte character that corresponds to the wide character given by c32 (including any shift sequences), and stores the multibyte character representation in the array whose first element is pointed to by s. (...) What is this "multibyte character representation"? I'm actually interested in the behaviour of the following program: #include <cassert> #include <cuchar> #include <string> int main() { std::u32string u32 = U"this is a wide string"; std::string narrow = "this is a wide string"; std::string converted(1000, '\0'); char* ptr = &converted[0]; std::mbstate_t state {}; for(auto u : u32) { ptr += std::c32rtomb(ptr, u, &state); } converted.resize(ptr - &converted[0]); assert(converted == narrow); } Is the assertion in it guaranteed to hold1? 1 Working under the assumption that __STDC_UTF_32__ is defined.

    Read the article

  • glTexImage2D + byte[]

    - by miniMe
    How can I upload pixels from a simple byte array to an OpenGl texture ? I'm using glTexImage2D and all I get is a white rectangle instead of a pixelated texture. The 9th parameter (32-bit pointer to the pixel data) is IMO the problem. I tried lots of parameter types there (byte, ref byte, byte[], ref byte[], int & IntPtr + Marshall, out byte, out byte[], byte*). glGetError() always returns GL_NO_ERROR. There must be something I'm doing wrong because it's never some gibberish pixels. It's always white. glGenTextures works correct. The first id has the value 1 like always in OpenGL. And I draw colored lines without any problem. So something is wrong with my texturing. I'm in control of the DllImport. So I can change the parameter types if necessary. GL.glBindTexture(GL.GL_TEXTURE_2D, id); int w = 4; int h = 4; byte[] bytes = new byte[w * h * 4]; for (int i = 0; i < bytes.Length; i++) bytes[i] = (byte)Utils.random(256); GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGBA, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, bytes); [DllImport(GL_LIBRARY)] public static extern void glTexImage2D(uint what, int level, int internalFormat, int width, int height, int border, int format, int type, byte[] bytes);

    Read the article

  • Template function overloading with identical signatures, why does this work?

    - by user1843978
    Minimal program: #include <stdio.h> #include <type_traits> template<typename S, typename T> int foo(typename T::type s) { return 1; } template<typename S, typename T> int foo(S s) { return 2; } int main(int argc, char* argv[]) { int x = 3; printf("%d\n", foo<int, std::enable_if<true, int>>(x)); return 0; } output: 1 Why doesn't this give a compile error? When the template code is generated, wouldn't the functions int foo(typename T::type search) and int foo(S& search) have the same signature? If you change the template function signatures a little bit, it still works (as I would expect given the example above): template<typename S, typename T> void foo(typename T::type s) { printf("a\n"); } template<typename S, typename T> void foo(S s) { printf("b\n"); } Yet this doesn't and yet the only difference is that one has an int signature and the other is defined by the first template parameter. template<typename T> void foo(typename T::type s) { printf("a\n"); } template<typename T> void foo(int s) { printf("b\n"); } I'm using code similar to this for a project I'm working on and I'm afraid that there's a subtly to the language that I'm not understanding that will cause some undefined behavior in certain cases. I should also mention that it does compile on both Clang and in VS11 so I don't think it's just a compiler bug.

    Read the article

  • Compression Program in C

    - by Delandilon
    I want to compress a series of characters. For example if i type Input : FFFFFBBBBBBBCCBBBAABBGGGGGSSS (27 x 8 bits = 216 bits) Output: F5B7C2B3A2B2G5S3 (14 x 8 bits = 112bits) So far this is what i have, i can count the number of Characters in the Array. But the most important task is to count them in the same sequence. I can't seem to figure that out :( Ive stared doing C just a few weeks back, i have knowledge on Array, pointers, ASCII value but in any case can't seem to count these characters in a sequence. Ive try a bit of everything. This approach is no good but it the closest i came to it. #include <stdio.h> #include <conio.h> int main() { int charcnt=0,dotcnt=0,commacnt=0,blankcnt=0,i, countA, countB; char str[125]; printf("*****String Manipulations*****\n\n"); printf("Enter a string\n\n"); scanf("%[^'\n']s",str); printf("\n\nEntered String is \" %s \" \n",str); for(i=0;str[i]!='\0';i++) { // COUNTING EXCEPTION CHARS if(str[i]==' ') blankcnt++; if(str[i]=='.') dotcnt++; if(str[i]==',') commacnt++; if (str[i]=='A' || str[i]=='a') countA++; if (str[i]=='B' || str[i]=='b') countA++; } //PRINT RESULT OF COUNT charcnt=i; printf("\n\nTotal Characters : %d",charcnt); printf("\nTotal Blanks : %d",blankcnt); printf("\nTotal Full stops : %d",dotcnt); printf("\nTotal Commas : %d\n\n",commacnt); printf("A%d\n", countA); }

    Read the article

  • rotate a star in opengl (2D)

    - by nova a
    I have a 2D star, and I don't know how to rotate it around its center, and I also don't know how to do it with a keyboard key. Also how can I make my object bigger or smaller by a certain percentage (because when I tried to do it by changing pixels, the star goes wrong). This is my code: #include <GL/glut.h> #include <GL/gl.h> #include <GL/freeglut.h> void init (void) { glClearColor(0.0,0.0,0.0,00); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,200.0,0.0,200.0); } void LineSegment(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,1.0); glBegin(GL_LINE_LOOP); glVertex2i(20,120); glVertex2i(180,120); glVertex2i(45,20); glVertex2i(100,190); glVertex2i(155,20); glEnd(); glFlush(); } int main(int argc,char** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); glutInitWindowPosition(50,100); glutCreateWindow("STAR"); init(); glutDisplayFunc(LineSegment); glutMainLoop(); return 0; }

    Read the article

  • Textbox time validations (javascript)

    - by unos
    I have a textbox in which user can enter time (eg- 01:00) and also a drop down box for entering AM/PM fields. (Since the AM/PM field is used, 12-hour time format is used.) The text box allows a max entry of 5 chars only (eg - 01:00). Pls let me know how I can set the 3rd char as a default -colon : , so that the user simply has to enter only the time. How to check if the time entered by the user is numeric or not?. Autocompletion feature : for eg, if user enters 1 then it would automatically be set to 01:00 Javascript Validations for 12-hour format. Eg: if user enters 13:00 then it should change to 01:00 How can I append the text box time values with the am/pm value selected in the drop down box?. Once the values are appended, automatically populate another text box (text box 2) with the result. Eg: 01:00 + pm should be set as 01:00p in the new text box (text box 2). Any help would be appreciated.

    Read the article

  • Returning a dynamically created array from function

    - by informer2000
    I'm trying to create a function that would dynamically allocate an array, sets the values of the elements, and returns the size of the array. The array variable is a pointer that is declared outside the function and passed as a parameter. Here is the code: #include <cstdlib> #include <iostream> using namespace std; int doArray(int *arr) { int sz = 10; arr = (int*) malloc(sizeof(int) * sz); for (int i=0; i<sz; i++) { arr[i] = i * 5; } return sz; } int main(int argc, char *argv[]) { int *arr = NULL; int size = doArray(arr); for (int i=0; i<size; i++) { cout << arr[i] << endl; } return 0; } For some reason, the program terminates on the first iteration of the for loop in main()! Am I doing something wrong?

    Read the article

  • Reading a text file, and performing actions based on strings read

    - by user1691766
    Let me start off by saying that I really am quite new to C. So basically I have a text file (contains around 30 assembly instructions, separated by new lines), and I am successfully reading them into my program. From here I need to perform certain actions based off each instruction. I would assume the best way to do this would be via a switch-case statement. However I am encountering a lot of problems due to me trying to compare strings that are 33 characters long. Can anyone please offer me advice on what I am doing wrong, or offer an alternative? Thanks in advance. Here is what I have so far: char instruction[29][ 33 ]; int i,run; i = 0; run = 1; FILE *instPtr; /* LOADING INSTRUCTIONS FROM FILE INTO "instruction" ARRAY*/ if ( ( instPtr = fopen("MIPSinstructions.txt", "r") ) == NULL ) { printf("File could not be opened\n"); } // end if else { fscanf( instPtr, "%s", instruction[0]); printf("%s\n", instruction[0]); while (!feof( instPtr ) ){ i++; fscanf( instPtr, "%s", instruction[i]); printf("%s\n", instruction[i]); } fclose( instPtr ); i = 0; // Reset the counter } //end else return 0; }

    Read the article

  • Struct arrays in C

    - by ThomasTheTankEngine
    Hi I'm having trouble trying to initializing each element of the struct array. When I try and assign the value ZERO to both 'bSize' and 'msgs', it doesn't work as it errors out when i get to malloc. In the printf statement it prints a -1852803823 number. Excuse the messy code as i'm playing around trying to figure it out. struct message{ int *data; int bSize; int msgs; }; int main(int argc, char *argv[]) { ..... } void getSchedFile (FILE *file, int **schd) { struct message sMsg[nodeCount]; const int pakSize = 6; // Iniitialise message buffer for (int i=0; i<nodeCount; i++){ sMsg[i].bSize = 0; sMsg[i].msgs = 0; printf("bSize %d\n",sMsg[i].bSize); } /* Get the number of bytes */ fseek(file, 0L, SEEK_SET); int time; while((fscanf(file, "%d", &time)) != EOF){ int src; fscanf(file, "%d", &src); // get source node id // These are here for easier reading code int aPos = sMsg[src].bSize; int nMsg = sMsg[src].msgs; printf("size %d\n", sMsg[src].bSize); if (sMsg[src].bSize==0){ sMsg[src].data = malloc( pakSize * sizeof(int)); }else{ sMsg[src].data = realloc(sMsg[src].data, (aPos+pakSize)*sizeof(int)); }

    Read the article

  • delay loop output in C++

    - by itachisxeyes
    I have a while loop that runs in a do while loop. I need the while loop to run exactly every second no faster no slower. but i'm not sure how i would do that. this is the loop, off in its own function. I have heard of the sleep() function but I also have heard that it is not very accurate. int min5() { int second = 00; int minute = 0; const int ZERO = 00; do{ while (second <= 59){ if(minute == 5) break; second += 1; if(second == 60) minute += 1; if(second == 60) second = ZERO; if(second < 60) cout << "Current Time> "<< minute <<" : "<< second <<" \n"; } } while (minute <= 5); }

    Read the article

  • JS best practice for member functions

    - by MickMalone1983
    I'm writing a little mobile games library, and I'm not sure the best practice for declaring member functions of instantiated function objects. For instance, I might create a simple object with one property, and a method to print it: function Foo(id){ this.id = id; this.print = function(){ console.log(this.id); }; }; However, a function which does not need access to 'private' members of the function does not need to be declared in the function at all. I could equally have written: function print(){ console.log(this.id); }; function Foo(id){ this.id = id; this.print = print; }; When the function is invoked through an instance of Foo, the instance becomes the context for this, so the output is the same in either case. I'm not entirely sure how memory is allocated with JS, and I can't find anything that I can understand about something this specific, but it seems to me that with the first example all members of Foo, including the print function, are duplicated each time it is instantiated - but with the second, it just gets a pointer to one, pre-declared function, which would save any more memory having to be allocated as more instances of Foo are created. Am I correct, and if I am, is there any memory/performance benefit to doing this?

    Read the article

  • Having trouble deleting a node from a linked list

    - by Requiem
    I've been working on this code for my shell that I'm creating and for some reason it isn't working. I'm implementing a watchuser function that watch's a user when an argument is given (args[1]). However, when a second argument (args[2]) of "off" is given, the user should be deleted from the linked list and should no longer be watched. struct userList * goList; goList = userInventory; do{ if (strcmp(userInventory->username, args[1]) == 0){ printf("%s\n", args[1]); printf("%s\n",userInventory->username); struct userList * temp2; temp2 = userInventory->next; if (userInventory->next != NULL){ userInventory->next = temp2->next; userInventory->next->prev = userInventory; } free(temp2); } goList = goList->next; }while (goList != userInventory); My global struct is also as follows: struct userList{ char * username; struct userList * prev; struct userList * next; } For reason, this code won't delete the user node from my linked list. The adding works, but this remove function won't and I'm not sure why. The print statements are there just to make sure it's executing the condition, which it is. If anyone could help me find the reasoning behind my error, I'd greatly appreciate it. Till then, I'll be trying to debug this. Thanks.

    Read the article

  • Java: Incompatible Types

    - by user2922081
    import java.text.*; import java.util.*; public class Proj3 { public static void main(String[]args){ // DecimalFormat df = new DecimalFormat("#0.00”); Scanner s = new Scanner(System.in); int TotalHours = 0; int TotalGrade = 0; System.out.print("How many courses did you take? "); int Courses = Integer.parseInt(s.nextLine()); System.out.println(""); int CourseNumber = Courses - (Courses - 1); while (Courses > 0){ System.out.print("Course (" + CourseNumber +"): How many hours? "); int Hours = Integer.parseInt(s.nextLine()); TotalHours = TotalHours + Hours; System.out.print("Course (" + CourseNumber +"): Letter grade? "); char Grade = s.nextLine().charAt(0); if (Grade == 'A'){ TotalGrade = TotalGrade + (4 * Hours); } if (Grade == 'B'){ TotalGrade = TotalGrade + (3 * Hours); } if (Grade == 'C'){ TotalGrade = TotalGrade + (2 * Hours); } if (Grade == 'D'){ TotalGrade = TotalGrade + (1 * Hours); } Courses = Courses - 1; CourseNumber = CourseNumber + 1; } Double GPA = TotalGrade / TotalHours; System.out.println(df.format(GPA)); } } This is for an assignment and I don't know how to fix my problem. The Double GPA = TotalGrade / ToutalHours; line is coming up with the Incompatible Types error. Also I'm supposed to include the DecimalFormat df = new DecimalFormat("#0.00”);line at the beginning of the main but its not working. Anything is very helpful. Thanks

    Read the article

  • '??' Not a valid unicode character, but in the unicode character set?

    - by Steve Cotner
    Short story: I can't get an entity like '𠂉' to store in a MySQL database, either by using a text field in a Ruby on Rails app (with default UTF-8 encoding) or by inputting it directly with a MySQL GUI app. As far as I can tell, all Chinese characters and radicals can be entered into the database without problem, but not these rarely typed 'character components.' The character mentioned above is unicode U+20089 and html entity &#131209; I can get it to display on the page by entering <html>&#131209;</html> and removing html escaping, but I would like to store it simply as the unicode character and keep the html escaping in place. There are many other Chinese 'components' (parts of full characters, generally consisting of 2 or 3 strokes) that cause the same problem. According to this page, the character mentioned is in the UTF-8 charset: http://www.fileformat.info/info/unicode/char/20089/charset_support.htm But on the neighboring '...20089/index.htm' page, there's an alert saying it's not a valid unicode character. For reference, that entity can be found in Mac OS X by searching through the character palette (international menu, "Show Character Palette"), searching by radical, and looking under the '?' radical. Apologies if this is too open-ended... can a character like this be stored in a UTF-8-based database? How is this character both supported and unsupported, both present in the character set and not valid?

    Read the article

< Previous Page | 370 371 372 373 374 375 376 377 378 379 380 381  | Next Page >