C++ c++;从文件开头读取到指定字节

C++ c++;从文件开头读取到指定字节,c++,seekg,C++,Seekg,试图写入一个从文件中的第一个字节读取到用户指定字节的文件。我需要逻辑方面的帮助。例如,如果文件中只有字母a到z,我只想读取并显示前10个字母。下面是我写的一段话: char byte; inFile.seekg(0L,ios::beg); inFile.get(byte); cout << byte; for(int i = 0; i < num; i++); //num is an int specified by the user. {

试图写入一个从文件中的第一个字节读取到用户指定字节的文件。我需要逻辑方面的帮助。例如,如果文件中只有字母a到z,我只想读取并显示前10个字母。下面是我写的一段话:

  char byte;
  inFile.seekg(0L,ios::beg);
  inFile.get(byte);
  cout << byte;

  for(int i = 0; i < num; i++);  //num is an int specified by the user.
  {
      inFile.seekg(1, ios::cur);
      inFile.get(byte);
      cout << byte;
  }
char字节;
填充seekg(0升,ios::beg);
获取(字节);

cout第一个问题-for()
行末尾的分号:

    for(int i = 0; i < num; i++);
    {
        ...
    }

你的问题是什么?代码有效吗?如果没有,问题是什么?您的问题可能是不需要在每次读取后向前搜索1字节。
get
调用已经这样做了。您的代码可能每秒跳过一个字节。此外,由于循环之前的get,您正在读取比您需要的字节更多的字节。<代码>查找< /代码>是因为当您不想从文件BTW的开始顺序读取时,还应该考虑检查文件的结尾…您可以阅读以下内容:是要跳过若干字节,还是要搜索一个字节值?
    for(int i = 0; i < num; i++) { /* do nothing num times */ }

    {
        // code that will only run once
    }
void run(int num, istream &inFile)
{
    char byte;

    for(int i = 0; i < num; i++)
    {
        inFile.get(byte);
        cout << byte;
    }
}