Co jest najlepszym rozwiązaniem, jeśli chcę, aby podczas czytania pliku z separatorem średnik „upgrade” starego C-kod do nowszych C++Jaki jest nowoczesny styl równoważny (C++) dla starszej (C-podobnej) metody fscanf?
/* reading in from file C-like: */
fscanf(tFile, "%d", &mypost.nr); /*delimiter ; */
fscanf(tFile, " ;%[^;];", mypost.aftername);/* delimiter ; */
fscanf(tFile, " %[^;]", mypost.forename); /*delimiter ; */
fscanf(tFile, " ;%[^;];", mypost.dept);/*delimiter ; */
fscanf(tFile, " %[^;];", mypost.position);/* delimiter ; */
fscanf(tFile, "%d", &mypost.nr2);
//eqivalent best C++ method achieving the same thing?
Zastanawiam się, jak ścisłe jest fscanf? Jeśli czytasz wszystkie znaki aż do średnika w wierszu z imieniem, w jaki sposób następna linia może odczytać spację przed średnikiem? - Ponadto, 'fscanf' prawdopodobnie nie byłby taki zły, gdybyś mógł również określić maksymalną liczbę znaków do odczytania gdzieś. – UncleBens