c++ 刚学到这里有点困惑如何在txt文件中显示指定内容和修改文件内容

我不知道怎样才能在不能使用string和全局变量的情况才查找到文档制定内容和修改
而且头文件只能用以下那几个
假设txt内容是
这个游戏的名字是什么?斗地主
你玩过这个游戏吗?玩过
你喜欢这个游戏吗?喜欢
这个游戏的名字是什么?鼠来宝
你玩过这个游戏吗?没玩过
你喜欢这个游戏吗?不喜欢
在输出中显示回答是喜欢的游戏(包括游戏的名字和有没有玩过)
然后修改我实在是搞不明白不能用string的情况下,怎么修改txt文件内容

这是我写的程序


```c++
 
```c++
#include <iostream>
#include <fstream>
#include <cctype>
#include <cstring>
using namespace std;
const int ITEM = 10;
const int DEC = 130;
const int NAME = 120;
const int LIKE = 20;
const int PLAYED = 30;
struct item
{
   char name[NAME]; 
   char Description[DEC]; 
   char like[LIKE];  
   char played[PLAYED]; 
   int number{};  
};
void read_item(item library[],int & num_of_item);
void display_item(item library[],int num_of_item);
void read_a_item(item & a_item);
void display_a_item(item & one_item);
int load(item library[]); //return the number read in
void save(item library[],int num_to_save);
int main()
{
   //variables
   item library[ITEM];
   int num_of_item = 0;
   num_of_item = load(library);
   read_item(library,num_of_item);
   cout << "num of game is: " <<num_of_item <<endl;
   display_item(library,num_of_item);
   save(library, num_of_item); 
   return 0;
}
void save(item library[], int num_to_save)
{
   ofstream file_out;
   file_out.open("game.txt");
   if (file_out)
   {
       for (int i = 0; i < num_to_save; ++i)
       {
           file_out << library[i].name <<'~'
                    << library[i].Description <<'~'
                    << library[i].like <<'~'
                    << library[i].played <<'~'
                    << library[i].number <<endl;
       }
       file_out.close();
   }
}
int load(item library[]) //reture read in
{
    ifstream file_in;  // be used to read from a file
    int i = 0;
    file_in.open("game.txt");
    if (file_in)
    {
        file_in.get(library[0].name,NAME,'~');
        file_in.ignore(100,'~');
        while (!file_in.eof() && i < ITEM)
        {
               file_in.get(library[i].Description, DEC,'~');
               file_in.ignore(100,'~');
               file_in.get(library[i].like, LIKE,'~');
               file_in.ignore(100,'~');
               file_in.get(library[i].played,PLAYED,'~');
               file_in.ignore(100,'~');
               file_in >> library[i].number;
               file_in.ignore(100,'\n');
               ++i;
               file_in.get(library[i].name, NAME,'~');
               file_in.ignore(100,'~');
        }
        file_in.close();
     }
     return i;
}
void read_item(item library[],int & num_of_item)
{
   int i = num_of_item;
   char response = 'n'; // allow the user dicide when to be done
   cout <<"Do you want to read in a new game?";
   cin >> response;
   cin.ignore(100,'\n');
   //read in the game if user want
   while ('Y' == toupper(response) && i < ITEM)
   {
       read_a_item(library[i]);
       cout <<"Another?";
       cin >>response;
       cin.ignore(100,'\n');
       ++i;
   }
   num_of_item = i;
}
void display_item(item library[],int num_of_item)
{
   for(int i = 0; i < num_of_item;++i)
   {    display_a_item(library[i]);
   }
}
void read_a_item(item & a_item)
{
   cout <<"游戏的名字是: ";
   cin.get(a_item.name,NAME,'\n');
   cin.ignore(100,'\n');
   cout << "对游戏的描述: ";
  cin.get(a_item.Description,DEC,'\n');
  cin.ignore(100,'\n');
  cout <<"你喜欢这个游戏吗? ";
  cin.get(a_item.like,LIKE,'\n');
  cin.ignore(100,'\n');
  cout <<"你有玩过这个游戏吗";
  cin.get(a_item.played,PLAYED,'\n');
  cin.ignore(100,'\n');
   cout <<"enter the member to play: ";
  cin >> a_item.number;
  cin.ignore(100,'\n');
}
        
      
  
void display_a_item(item & one_item)
{
    cout << one_item.name <<endl
         << one_item.Description<<endl
         << one_item.like <<endl
         << one_item.played <<endl
         <<"The mumber is: " << one_item.number <<endl;
}


我显示了文件的全部内容,但是不知道怎么只显示回答是喜欢的游戏。

把你的代码用代码的形式贴出来 帮你调一下~

string只是标识字符串而已,把文件中的相关内容进行存储的容器而已,你可以用c语言中的相关字符串处理逻辑来代替,比如 用malloc申请一段内存(char字符),或者用字符数组的形式。
至于你说的全局变量,只是形式而已,你可以用局部变量的方式啊,只是全局变量函数内部可以直接使用,而用局部变量的话,你在其他函数中使用时可以考虑用函数传参的方式。

关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:C++实现删除txt文件中的指定内容