ホームページ  >  記事  >  バックエンド開発  >  C++ におけるさまざまなリターン コードは何を意味しますか?

C++ におけるさまざまなリターン コードは何を意味しますか?

王林
王林オリジナル
2024-04-30 15:24:011100ブラウズ

C では、関数は戻りコードによって操作結果を表します。 一般的な戻りコード: 0 (成功)、1 (エラー)、-1 (ファイル操作エラー)、NULL (ヌル値)、errno (システム エラー コード) カスタム戻り値コード: 特定のニーズを満たすために列挙型またはカスタム型を通じて定義されます。実際のケース: open_and_read_file() 関数は列挙型を使用してファイル操作の結果を表し、switch ステートメントを使用して戻りコードに基づいて対応するアクションを実行します。

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

C のさまざまなリターン コードの意味

C プログラムでは、通常、関数とメソッドはリターン コードの結果またはステータスを通じて操作を表します。 。これらの戻りコードは、整数、列挙、ブール値、またはその他のカスタム タイプにすることができます。コードのデバッグと保守には、さまざまな戻りコードの意味を理解することが重要です。

一般的な戻りコード

C での一般的な戻りコードの一部を次に示します。

  • 0: は、操作は正常に実行され、意図した目的が達成されます。
  • 1: 操作が正常に実行されなかったか、エラーが発生したことを示します。
  • -1: 通常、ファイル操作エラー (ファイルのオープンまたはクローズの失敗など) を示します。
  • NULL: NULL 値または NULL ポインタを表します。
  • errno: システム関数 (strerror() 関数など) によって設定されたエラー コードを表します。

カスタム戻りコード

これらの一般的な戻りコードに加えて、特定のアプリケーションのニーズに合わせて戻りコードをカスタマイズすることもできます。これは、列挙を定義するか、独自のカスタム タイプを作成することで実現できます。

たとえば、次の列挙では、操作によって生成される可能性のあるさまざまな戻りコードを定義します。

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

実用的なケース

見てみましょう。 1 カスタムリターンコードを使用する実際の例。ファイルを開いてそこから読み取ろうとする関数があるとします。次のコードは、列挙型を使用して操作の結果を表す方法を示しています。

#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;
}

この例では、open_and_read_file() 関数は FileOperationResultCode 列挙値を返します。 switch ステートメントを使用すると、戻りコードに基づいてさまざまなアクションを実行できます。

以上がC++ におけるさまざまなリターン コードは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。