Posts Tagged C/C++/OpenGL

  • Vector ซ้อน Vector

    Posted in Knowledge - 8 February 2006 18:28:26
  • ปัญหา Vector ซ้อน Vector

    Wrong : vector<vector<string>> variable; // มองเป็น operator >>

    True: vector<vector<string> > variable;

    ปัญหา Segmentation fault

    : อาจจะเกิดจาก mysql ยังไม่ได้สั่ง connect แล้วสั่งเรียกใช้

  • Developing Linux Application on Windows

    Posted in Knowledge - 6 January 2006 21:15:45
  • วันนี้นั่งหาโปรแกรมสำหรับเขียนโปรแกรม C++ สำหรับ Linux บน Windows สืบเนื่องจาก โปรแกรมเรา จะต้องทำการติดต่อกับ Shell เป็นหลัก และเราหา IDE ที่ Compile โดยใช้ Header File ของ Linux ไม่ได้ ตอนหลังเจอโปรแกรมชื่อ Magic C++ เป็น Shareware ลักษณะของโปรแกรมเป็นการ Remote เข้าไปทำงานบน Server เวลา Compile ก็จะ Compile บน Server ทำให้ได้ผลเหมือนจริง

    ข้อดี

    • ไม่ต้องนั่ง Upload ไฟล์ที่แก้ไข ใช้งานได้เหมือน Dreamweaver
    • สามารถ Compile ได้ทันที ซึ่งโปรแกรมจะทำการ Upload และ compile บน Server ให้
    • สร้าง Makefile ให้อัตโนมัติ
    • Highlight เหมือน IDE ตัวอื่นๆ

    ข้อด้อย

    • ต้องใช้ FTP Service ถ้าพัฒนาโปรแกรมสำหรับ root จะมีความเสี่ยง เพราะต้องใส่ ftp account เป็น root
    • ช้ามาก ทุกขั้นตอนโปรแกรมทำการติดต่อกับ Server ตลอด เวลา Compile ต้องรอการติดต่อผ่าน FTP , Shell ซึ่งช้ามากๆ

    สุดท้ายแล้ว มี IDE ก็ยังดีกว่าไม่มี ตัวนี้ ทำให้เราสามารถพัฒนาโปรแกรม Linux บน Windows ได้ปกติ.

  • C++: ปัญหา File Stream

    Posted in Knowledge - 12 December 2005 03:48:43
  • การเขียนไฟล์ ต้องระวังเป็นอย่างยิ่ง หากข้อมูลที่จะเอามาเขียนเป็น Binary File การเปิดไฟล์ จะต้องเปิดแบบ Binary ด้วย โดยใช้ ios::binary ไม่เช่นนั้นแล้วจะเกิดปัญหา เพราะถ้ามันมองเป็น text file มันจะมี byte ปรุงแต่งเพิ่มขึ้นมา คือหน้าตาเนื้อหากรณีเป็น text file หน้าตาจะเหมือนกันเลย แต่มี byte เพิ่มขึ้นมา

    ไอ้นี่ทำให้เราต้องนั่งแก้ bug อยู่ 3 ชั่วโมง ในการเขียนโปรแกรมดึงไฟล์จาก ftp server (เขียน ftp client) เพราะเราเปิดไฟล์เป็นแบบ textfile.

    วิธีการเขียน:

    ofstream myfile;
    myfile.open(local.c_str(),ios::binary | ios::out);

    myfile << string;

    myfile.close();

    Related Site:

    สอนเรื่อง File Stream : Cplusplus.com

  • C++: cin function with getline

    Posted in Knowledge - 11 December 2005 17:52:41
  • วิธีการเขียนโปรแกรมให้ Recv ข้อมูลมาเป็น Stream ทีละบรรทัด. ปกติถ้าใช้ std::cin >> [string var] เราเจอปัญหาคือ ไม่รู้ว่ามันตัดคำอย่างไร มันตัดที่ช่องว่างและขึ้นบรรทัดใหม่ เลยไม่แน่ใจว่า สรุปแล้วมันตัดคำตรงไหนบ้าง ไปเจอกระทู้ที่ใช้ในการแก้ไขปัญหานี้พอดี ทำอย่างนี้

    #include <iostream>
    #include <string>
    int main()
    {

    std::string text;

    std::cout << "Please enter a word.\n";
    std::getline(std::cin, text);
    std::cout << text << ‘\n’;
    return 0;
    }

    Source: Code Comment