Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Problems with displaying long option description with cyrillic characters

Đang mở
#24 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp
Lĩnh vực
cli

Hướng nghiên cứu

Bắt đầu với đầu ra trợ giúp của options_description và lời gọi add_options được hiển thị trong reproducer, sau đó chạy ví dụ với phần mô tả Cyrillic dài. Theo dõi cách văn bản trợ giúp được truyền qua ngắt dòng tùy chọn và kiểm tra rằng đầu ra kết thúc mà không có các ký hiệu thay thế khi độ rộng cột không thay đổi. workaround tăng độ rộng cột cung cấp một trường hợp so sánh.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

I'm having some weird issues with displaying long option description that contains cyrillic characters:

[program_options]$ ./example --help
Allowed options:
  -h [ --help ]                      print usage message
  -f [ --enforcewrite ] enforcewrite Всегда перезаписывать
                                     файлы в директории с
                                     преобразованной
                                     политикой безопасност▒
                                     ▒

Note that weird symbols at the description end.
Here's the code to reproduce it:

#include <boost/program_options.hpp>
using namespace boost::program_options;

#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    string s;

    options_description desc("Allowed options");
    desc.add_options()
        ("help,h", "print usage message")
        ("enforcewrite,f", value(&s)->value_name("enforcewrite"),
        "Всегда перезаписывать файлы в директории с преобразованной политикой безопасности");

    variables_map vm;
    store(parse_command_line(argc, argv, desc), vm);

    if (vm.count("help")) {
        cout << desc << "\n";
        return 0;
    }
}

Appearance of such symbols seems to depend somehow on the length of the text string associated with the option (including option name, default value and it's description). In my case I worked around the problem by increasing the column width.

program option version is: 1.62.0
OS: CentOS 7.1

Ngôn ngữ chính
C++
Star
136
Fork
117
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của boostorg/program_options

Tất cả issue của boostorg/program_options

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.