1

Тема: Приховані коментарі у вхідному файлі

За допомогою C++ читаю ASCII файл. Як закоментувати в файлі деякі пояснення?
Наприклад:

string file_input="input_param.txt";
ifstream finput (file_input.c_str());

while (finput >>in1) {
      param.push_back(in1);
     }
finput.clear(); finput.close();

input_param.txt має такий вигляд
12.34  first mass
2.4 second mass
y model 1
n model 2

Як зробити так, щоб програма при зчитуванні файлу не бачила пояснення які  я виділив курсивом?

2

Re: Приховані коментарі у вхідному файлі

Не змінюючи саму програму — ніяк. Хіба що видалити коментарі з вхідного файлу.

Або ж переробити свою програму так, щоб вона, скажімо, пропускала решту кожного рядка після першого пробілу — тоді вхідний файл можна лишити як є.

Тобто, зробити при читанні щось таке:

char bfr[256], in1[256]; //звик працювати з чистим C, тому в прикладі масиви символів, а не string

fgets(bfr, 255, finput); //читаємо рядок у буфер
sscanf(bfr, "%s ", in1); //беремо перше слово з буферу
Подякували: dialectstat, Yola2

3

Re: Приховані коментарі у вхідному файлі

якби на C# то просто Split
а так приблизно так
http://stackoverflow.com/questions/2361 … tring-in-c

4

Re: Приховані коментарі у вхідному файлі

Якщо сенс має все до першого пробіла, а далі коментар, то

    while (cin >>in1) {
          param.push_back(in1);
          string comment;
          getline(cin, comment);
     }