Posts Tagged C/C++/OpenGL
Vector ซ้อน Vector
Posted in Knowledge - 8 February 2006 18:28:26Developing Linux Application on Windows
Posted in Knowledge - 6 January 2006 21:15:45- ไม่ต้องนั่ง Upload ไฟล์ที่แก้ไข ใช้งานได้เหมือน Dreamweaver
- สามารถ Compile ได้ทันที ซึ่งโปรแกรมจะทำการ Upload และ compile บน Server ให้
- สร้าง Makefile ให้อัตโนมัติ
- Highlight เหมือน IDE ตัวอื่นๆ
- ต้องใช้ FTP Service ถ้าพัฒนาโปรแกรมสำหรับ root จะมีความเสี่ยง เพราะต้องใส่ ftp account เป็น root
- ช้ามาก ทุกขั้นตอนโปรแกรมทำการติดต่อกับ Server ตลอด เวลา Compile ต้องรอการติดต่อผ่าน FTP , Shell ซึ่งช้ามากๆ
C++: ปัญหา File Stream
Posted in Knowledge - 12 December 2005 03:48:43C++: cin function with getline
Posted in Knowledge - 11 December 2005 17:52:41
ปัญหา Vector ซ้อน Vector
Wrong : vector<vector<string>> variable; // มองเป็น operator >>
True: vector<vector<string> > variable;
ปัญหา Segmentation fault
: อาจจะเกิดจาก mysql ยังไม่ได้สั่ง connect แล้วสั่งเรียกใช้
วันนี้นั่งหาโปรแกรมสำหรับเขียนโปรแกรม C++ สำหรับ Linux บน Windows สืบเนื่องจาก โปรแกรมเรา จะต้องทำการติดต่อกับ Shell เป็นหลัก และเราหา IDE ที่ Compile โดยใช้ Header File ของ Linux ไม่ได้ ตอนหลังเจอโปรแกรมชื่อ Magic C++ เป็น Shareware ลักษณะของโปรแกรมเป็นการ Remote เข้าไปทำงานบน Server เวลา Compile ก็จะ Compile บน Server ทำให้ได้ผลเหมือนจริง
ข้อดี
ข้อด้อย
สุดท้ายแล้ว มี IDE ก็ยังดีกว่าไม่มี ตัวนี้ ทำให้เราสามารถพัฒนาโปรแกรม Linux บน Windows ได้ปกติ.
การเขียนไฟล์ ต้องระวังเป็นอย่างยิ่ง หากข้อมูลที่จะเอามาเขียนเป็น 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
วิธีการเขียนโปรแกรมให้ 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