Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah maksud kod pulangan yang berbeza dalam C++?

Apakah maksud kod pulangan yang berbeza dalam C++?

王林
王林asal
2024-04-30 15:24:011053semak imbas

Dalam C++, fungsi mewakili hasil operasi melalui kod pulangan: kod pulangan biasa: 0 (berjaya), 1 (ralat), -1 (ralat operasi fail), NULL (nilai nol), errno (kod ralat sistem) kod Pulangan tersuai: Ditakrifkan melalui penghitungan atau jenis tersuai untuk memenuhi keperluan khusus. Kes praktikal: Fungsi open_and_read_file() menggunakan jenis penghitungan untuk mewakili hasil operasi fail dan menggunakan pernyataan suis untuk mengambil tindakan yang sepadan berdasarkan kod pulangan.

不同返回码在 C++ 中代表什么?

Maksud kod pulangan yang berbeza dalam C++

Dalam program C++, fungsi dan kaedah biasanya mewakili keputusan atau status operasi melalui kod pulangan. Kod pulangan ini boleh menjadi integer, penghitungan, boolean atau jenis tersuai lain. Memahami maksud kod pulangan yang berbeza adalah penting untuk menyahpepijat dan mengekalkan kod anda.

Kod pulangan biasa

Berikut ialah beberapa kod pulangan biasa dalam C++:

  • 0: Menunjukkan bahawa operasi telah berjaya dilaksanakan dan menyelesaikan matlamat yang diharapkan.
  • 1: Menunjukkan bahawa operasi tidak berjaya dilaksanakan atau ralat ditemui.
  • -1: Biasanya menunjukkan ralat operasi fail (contohnya, kegagalan untuk membuka atau menutup fail).
  • NULL: bermaksud nilai nol atau penunjuk nol.
  • errno: Mewakili kod ralat yang ditetapkan oleh fungsi sistem (contohnya, fungsi strerror()).

Kod Pemulangan Tersuai

Selain daripada kod pemulangan biasa ini, anda juga boleh menyesuaikan kod pemulangan untuk memenuhi keperluan aplikasi khusus anda. Ini boleh dicapai dengan mentakrifkan penghitungan atau mencipta jenis tersuai anda sendiri.

Sebagai contoh, dalam penghitungan berikut, kami mentakrifkan kod pemulangan berbeza yang mungkin dihasilkan oleh operasi:

enum class CustomResultCode {
  Success,
  InvalidArgument,
  ResourceNotFound,
  PermissionDenied,
  InternalError
};

Kes praktikal

Mari kita lihat kes praktikal menggunakan kod pemulangan tersuai. Katakan kita mempunyai fungsi yang cuba membuka fail dan membaca daripadanya. Kod berikut menunjukkan cara menggunakan jenis penghitungan untuk mewakili hasil operasi:

#include <iostream>
#include <fstream>

using namespace std;

enum class FileOperationResultCode {
  Success,
  FileOpenError,
  FileReadError,
  OtherError
};

FileOperationResultCode open_and_read_file(const string& filename) {
  ifstream file(filename);
  if (!file.is_open()) {
    return FileOperationResultCode::FileOpenError;
  }

  string line;
  while (getline(file, line)) {
    cout << line << endl;
  }

  if (file.bad()) {
    return FileOperationResultCode::FileReadError;
  }

  return FileOperationResultCode::Success;
}

int main() {
  string filename;
  cout << "Enter the filename: ";
  getline(cin, filename);

  FileOperationResultCode result = open_and_read_file(filename);

  switch (result) {
    case FileOperationResultCode::Success:
      cout << "File successfully opened and read." << endl;
      break;
    case FileOperationResultCode::FileOpenError:
      cout << "Error opening the file." << endl;
      break;
    case FileOperationResultCode::FileReadError:
      cout << "Error reading from the file." << endl;
      break;
    case FileOperationResultCode::OtherError:
      cout << "An unknown error occurred." << endl;
      break;
  }

  return 0;
}

Dalam contoh ini, pernyataan open_and_read_file() 函数返回一个 FileOperationResultCode 枚举值。我们可以使用 switch melakukan tindakan yang berbeza berdasarkan kod pulangan.

Atas ialah kandungan terperinci Apakah maksud kod pulangan yang berbeza dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn