Infinite while loop while renaming file(Qt C++) -


i've made if else structure checks if file exist or not. if should go while loop , add integer , check again if file exist. should work same broswer of windows "filename (1).ext". have following code:

    qfile file("messages/" + name + ".txt");      if(!file.exists())     {         file.open(qiodevice::writeonly | qiodevice::text);         qdebug() << "file doesn't exist, saving complete";         qtextstream message_file(&file);         message_file << body;         file.close();         qmessagebox::about(0,"succes!","uw bericht opgeslagen en verstuurd!");     }      else {         int n = 0;          qdebug() << "file exist";          while(file.exists()){             n++;             qstring nstring = qstring::number(n);             qdebug() << "file exists sequence:  " + nstring;             qfile file("messages/" + name + " (" + nstring +").txt");         }          file.open(qiodevice::writeonly | qiodevice::text);         qtextstream message_file(&file);         message_file << body;         file.close();         qmessagebox::about(0,"succes!","uw bericht opgeslagen en verstuurd!");     } 

but code overwrites original file, original file name (of course). seems doesnt change path of qfile file. qdebug() uptil infinite:

file exists sequence: 1 file exists sequence: 2 on.. 

what did wrong?

i think problem inside while loop creating local variable named file, doesn't change file you're calling exists() on.

int n = 1; while (n) int n = 0; 

will never terminate, needs be:

int n = 1; while (n) n = 0; 

Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

thorough guide for profiling racket code -