【发布时间】:2010-03-29 11:32:52
【问题描述】:
如果我想在读取带有分号分隔符的文件时将旧的 C 代码“升级”到新的 C++,最好的选择是什么:
/* 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?
【问题讨论】:
-
我想知道 fscanf 有多严格?如果你在名字所在的那一行读到分号之前的所有字符,下一行怎么能读到分号前的空格? - 此外,
fscanf可能不会那么糟糕,如果您还可以指定在某处读取的最大字符数。