نمایش نتایج 1 تا 4 از 4

نام تاپیک: کلاسی جهت پیدا کردن نوع داده مورد نظر

  1. #1
    کاربر دائمی آواتار raminlich
    تاریخ عضویت
    اسفند 1392
    محل زندگی
    خوزستان
    پست
    164

    Question کلاسی جهت پیدا کردن نوع داده مورد نظر

    سلام فکر کنید یه فایل تکست دار مخلوطی از string , int ,time_t و........ هست حالا من می خوام بدونم تابعی هست که به عنوان مثال هر چی int هست رو پیدا کنه فقط طوری باشه که پیدا کنه فقط قابل نشان دادن نباشه بشه عملیاتی نثل جمع تفریق رو تک تک اینا انجام داد خیلی ممنون.

  2. #2

    نقل قول: کلاسی جهت پیدا کردن نوع داده مورد نظر

    از regex استفاده کن
    مثال

    #include <iostream>
    #include <string>
    #include <regex>

    int main()
    {
    std::string str = "matn 123 matn 23";

    std::regex reg("\\d+");
    auto it =std::sregex_iterator(str.begin(), str.end(), reg);

    int sum=0;
    for (; it != std::sregex_iterator(); ++it) {
    sum +=std::stoi(it->str());
    }

    std::cout << sum << '\n';
    }

    http://coliru.stacked-crooked.com/a/60be88fdf30e9723
    آخرین ویرایش به وسیله omid_kma : چهارشنبه 02 مهر 1393 در 19:44 عصر

  3. #3
    کاربر دائمی آواتار raminlich
    تاریخ عضویت
    اسفند 1392
    محل زندگی
    خوزستان
    پست
    164

    نقل قول: کلاسی جهت پیدا کردن نوع داده مورد نظر

    سلام
    شرمنده بعد یه مدت دوباره تاپیکو اوردم بالا ولی نبودم نتونستم پست بزنم ولی امید جان من اومدم اینو کامپایل کنم(استاندارد C++‎‎‎‎‎‎‎‎‎‎11 هم اضاف کردم ) البته با Qt اینجور ارور داد:

    undefined reference to `std::regex_iterator<__gnu_cxx::__normal_iterator< char const*, std::string>, char, std::regex_traits<char> >::regex_iterator(__gnu_cxx::__normal_iterator<cha r const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, std::basic_regex<char, std::regex_traits<char> > const&, std::bitset<11u>)'


    اومدم با Dev کامپایل کنم اینجور ارور داد قضیه چیه؟

    [Error] 'stoi' was not declared in this scope
    آخرین ویرایش به وسیله raminlich : چهارشنبه 02 مهر 1393 در 14:36 عصر

  4. #4

    نقل قول: کلاسی جهت پیدا کردن نوع داده مورد نظر

    کامپایلر پیش فرض Qt یعنی gcc 4.8 هدر regex ی C++‎‎‎‎‎‎‎‎‎‎11 رو نداره .
    Dev هم که کامپایلر خیلی قدیمی تری داره !!
    یا کامپایلرتون رو آپدیت کنید
    یا می تونین از QRegexp هم استفاده کنین .

    #include <QDebug>
    #include <QString>
    #include <QRegExp>

    int main()
    {
    QString str = "matn 123 matn 23";
    QRegExp reg("\\d+");
    int sum=0;
    for(int pos=0;pos >=0;){
    pos = reg.indexIn(str,pos) ;
    if(pos !=-1){
    pos += reg.cap().size();
    sum += reg.cap(0).toInt();
    }
    }
    qDebug() << sum << '\n';
    }


تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: جمعه 05 خرداد 1391, 16:59 عصر
  2. مبتدی: پیدا کردن class شی مورد نظر با handle
    نوشته شده توسط just4froum در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: جمعه 25 شهریور 1390, 12:39 عصر
  3. پیدا کردن مسیر بانک مورد نظر در SQL
    نوشته شده توسط rezaei manesh در بخش SQL Server
    پاسخ: 19
    آخرین پست: سه شنبه 05 مهر 1384, 15:55 عصر
  4. پیدا کردن نوع یک فیلد
    نوشته شده توسط amir_king2_2 در بخش SQL Server
    پاسخ: 3
    آخرین پست: سه شنبه 19 خرداد 1383, 15:53 عصر
  5. پیدا کردن نوع فیلد با در دست داشتن dataset
    نوشته شده توسط amir_king2_2 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 18 خرداد 1383, 19:17 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •