ผมคอมไพล์ทำให้โปรแกรมมันเชื่อมต่อกับ ไฟล์ .txt ได้แล้วครับ ตอนผมใช้ คำสั่ง ./ชื่อไฟล์ ใน terminal มันก็สามารถเปิดโปรแกรมมารันเชื่อมต่อได้ปกติ แต่พอมากดรันตัว Unix Executable File มันไม่สามารถเชื่อมต่อได้ครับ ทั้งๆที่ผมเอาไฟล์ .txt กับไฟล์ .cpp อยู่ในโฟลเดอร์เดียวกัน มีใครเจอปัญหาแบบนี้บ้างครับ
Path ของไฟล์ที่เราจะ Access มันอิงจาก Path ของตัว Executable File ครับ
บน Xcode ตัว Product จะอยู่คนละ Folder กันกับ Source
ฉะนั้นในกรณีนี้ ต้อง Copy .txt ไฟล์ไปไว้ใน Folder เดียวกันกับ Executable File ครับ
(ใน Xcode ตรง Product เลือกที่ตัว Executable File แล้ว Open in Finder ครับ)
ผมย้ายไฟล์ .cpp .txt แล้วก็ Unix Executable File มาไว้ Folder เดียวกันแล้วนะครับ แต่ยังเชื่อมต่อไม่ได้เหมือนเดิม
ขอบคุณครับทำได้แล้วครับ ตอนแรกผมคอมไพล์ผ่าน terminal ตอนนี้เปลี่ยนมาสร้าง project แล้วลองทำตามที่คุณบอก
ขอดูโค๊ดหน่อยครับ กำลังงงว่าทำอะไรอยู่
ไม่เห็นโค๊ด ก็วิเคราะห์กันยากหน่อยครับ ขอข้อมูลเพิ่มเติม เยอะ ๆหน่อยครับ
include
using namespace std;
include
define External ("Ex.txt")
int main()
{
ifstream ins;
ins.open(External);
if(ins.fail())
{
cout<<" fail \n";
}
while(!ins.eof())
{
char a;
ins.get(a);
cout<<a;
}
cout<<"\n";
return 0;
}
อันนี้ใช้ terminal เข้าไปใน folder แล้วใช้ ./ชื่อไฟล์ Unix Executable File
192:Liu thodsaphonsonthipin$ ./test
Hello worldd
192:Liu thodsaphonsonthipin$
ส่วนอันนี้คลิ๊กเปิดไฟล์ Unix Executable File โดยตรงครับ
Last login: Tue Dec 2 16:59:17 on ttys000
192:~ thodsaphonsonthipin$ /Users/thodsaphonsonthipin/Desktop/Liu/test ; exit;
fail
file ที่เปิดมันอิงกับ current directory ครับ ไม่ได้อิงกับที่อยู่โปรแกรม กรณีคลิกโดยตรงมันเลยทำงานคนละไดเรคทอรี่ไงครับ
ผมต้องแก้ไขยังไงครับ ผมเอามันมาไว้ Folder เดียวกันหมดแล้วนะครับ
เท่าที่ดู มันไปรันใน home แทนน่ะครับ (น่าจะเป็นที่ระบบของ OSX)
ลองก็อปไฟล์ txt ไปไว้ใน home ดูนะครับ
ขอบคุณมากครับ ทำแล้วหายจริงๆด้วย