Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendapatkan Nilai Enum sebagai Teks dalam C?

Bagaimana untuk Mendapatkan Nilai Enum sebagai Teks dalam C?

DDD
DDDasal
2024-11-30 07:56:121054semak imbas

How to Retrieve Enum Values as Text in C  ?

Mengambil Nilai Enum sebagai Teks dalam C

Dalam C , tingkah laku lalai untuk mencetak enum adalah untuk mengeluarkan nilai berangkanya. Walau bagaimanapun, terdapat situasi di mana adalah wajar untuk mendapatkan semula perwakilan teks bagi nilai enum.

Penyelesaian Tanpa jika/suis:

Menggunakan Peta:

#include <map>
#include <string_view>

enum Errors { ErrorA = 0, ErrorB, ErrorC };

std::ostream& operator result;
#define INSERT_ELEMENT(p) result.emplace(p, #p);
        INSERT_ELEMENT(ErrorA);
        INSERT_ELEMENT(ErrorB);
        INSERT_ELEMENT(ErrorC);
#undef INSERT_ELEMENT
        return result;
    }();

    return out <p><strong>Menggunakan Tatasusunan dengan Linear Carian:</strong></p>
<pre class="brush:php;toolbar:false">#include <string_view>

enum Errors { ErrorA = 0, ErrorB, ErrorC };

std::ostream& operatorstr; i++) {
        if (i->value == value) {
            s = i->str;
            break;
        }
    }

    return out <p><strong>Menggunakan Suis/Pernyataan Kes:</strong></p>
<pre class="brush:php;toolbar:false">#include <string>

enum Errors { ErrorA = 0, ErrorB, ErrorC };

std::ostream& operator<p><strong>Kes Ujian:</strong></p>
<pre class="brush:php;toolbar:false">#include <iostream>

int main() {
    std::cout </iostream>

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Enum sebagai Teks 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