우리의 컴퓨터 과학 선생님은 우리에게 C++를 사용하여 완벽하게 작동하는 콘솔 응용 프로그램을 만드는 프로젝트를 제공했습니다. 그리고 나는 그것을 만들기 시작했습니다. 그러나 나는 어느 시점에 갇혀있다. open() 함수를 사용하여 편집 가능한 텍스트 (.txt) 파일을 열고 싶습니다. 그러나 모든 텍스트 파일에 대해 별도의 폴더를 만들었습니다. 필자는 필자의 경우 "F : \ My Work \ C++ \ My School Project \ Text Files"라는 open() 함수에 전체 디렉토리 이름을 제공해야한다는 것을 알고 있습니다. 하지만 pendrive에서 '내 학교 프로젝트'폴더를 복사하여 내 친구 집에 가져 가서 컴퓨터에서 프로그램을 실행하려고하면 어떻게됩니까? 윌 작동합니까 ??? 내 말은 'F'디렉토리에 '내 작업'폴더가 있거나 F 디스크가 없을 수도 있다는 뜻입니다. 따라서이 경우 주소가 변경됩니다. 그래서 내가 다른 컴퓨터에서 프로그램을 실행하려고 할 때마다 open() 함수에서 주소를 변경하지 않고 각 컴퓨터에서 프로그램이 작동하도록 open() 함수를 입력해야하는 주소 ... 소스 코드 설명과 함께 도움이 될 수 있습니다 ... 감사합니다 !!!어떻게 파일을 열 수 있습니까?
4
A
답변
3
절대 경로를 사용하는 대신 상대 경로를 사용해야합니다. 폴더에서 프로그램을 실행하면 이것이 작업 경로입니다. 그런 다음 파일 이름이나 폴더 및 파일 이름 만 열기 기능에 전달하여이 폴더 또는이 폴더의 하위 폴더 내에있는 파일을 열 수 있습니다. 따라서 C:\...
을 여는 대신 someFolder\someFile.txt
을 열면됩니다.
2
당신이 좋아 당신이 명령 줄 인수의 일부로서 구문 분석 파일 이름 갖는 고려할 수 : 더 나은 그래서 제대로 매핑 된 드라이브 :
int main(int arg, char* args[]) {
FILE *newfile = fopen(args[1], "r");
}
당신은 모든 컴퓨터가 F가 가진 확신 할 수 없다을 UNC (Universal Naming Convention) 이름 즉 "\ server \ share \ path \ file"을 사용하십시오.
부스트 파일 시스템을 사용하는 것도 좋은 방법이지만 외부 라이브러리에 의존하기 때문에 코드가 더 복잡해집니다 (학생들이 혼란 스러울 수도 있음). Boost Filesystem에 대한 문서는 여기에서 찾을 수 있습니다. http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/index.htm
관련 문제
- 1. Mac에서 .diff 파일을 어떻게 열 수 있습니까?
- 2. 어떻게 내 .sgrd 파일을 열 수 있습니까?
- 3. 이미지 파일을 화면에서 어떻게 열 수 있습니까?
- 4. 어떻게 옥타브에서 .mat 파일을 열 수 있습니까?
- 5. 어떻게 hxs 파일을 열 수 있습니까?
- 6. ActionLink를 클릭하면 어떻게 파일을 열 수 있습니까?
- 7. 어떻게 원시 이미지 파일을 열 수 있습니까?
- 8. 어떻게 파이썬에서 텍스트 파일을 열 수 있습니까?
- 9. 어떻게 dotnet에서 3d 파일을 열 수 있습니까?
- 10. 어떻게 Java에서 .pdf 파일을 열 수 있습니까
- 11. 어떻게 pg_hba.conf를 열 수 있습니까?
- 12. 브라우저에서 .exe 파일을 서버에서 열 수 있습니까?
- 13. 내 솔루션에 포함 된 파일을 어떻게 열 수 있습니까?
- 14. 어떻게 MacOS에서 lua 파일을 쉽게 열 수 있습니까?
- 15. Windows는 파일을 열 프로그램을 어떻게 알 수 있습니까?
- 16. man 디렉토리에없는 매뉴얼 파일을 어떻게 열 수 있습니까?
- 17. C에서 어떻게 외부 EXE 파일을 열 수 있습니까?
- 18. iphone 시뮬레이터로 작업하는 동안 Excel 파일을 어떻게 열 수 있습니까?
- 19. CreateFile() API 함수로 .txt라는 파일을 어떻게 열 수 있습니까?
- 20. Radlistview에서 ImagemButton을 클릭하면 어떻게 ascx 파일을 열 수 있습니까?
- 21. 프로그램과 동일한 디렉토리에있는 파일을 어떻게 열 수 있습니까?
- 22. Python : 어떻게 파일을 폴더 밖으로 열 수 있습니까?
- 23. C++을 사용하여 메모장에서 파일을 어떻게 열 수 있습니까?
- 24. watir 스크립트가 어떻게 다른 폴더에있는 파일을 열 수 있습니까?
- 25. Java에서 파일을 열 수있는 개체를 어떻게 찾을 수 있습니까?
- 26. Perl에서 다른 프로그램이 파일을 열 었는지 어떻게 확인할 수 있습니까?
- 27. 어떻게 파일을 다운로드하여 사용자가 index.html을 열 수 있습니까?
- 28. Visual Studio XML 편집기에서 resx 파일을 어떻게 열 수 있습니까?
- 29. C++에서 어떻게 .txt 파일을 열 수 있습니까?
- 30. jar 파일에서 .txt 파일을 어떻게 열 수 있습니까? Java 사용?
마침내 질문은 학교 프로젝트를위한 것이며, 솔루션을 찾기 위해 이미 시도한 것입니다. +1. – smoore4
C 또는 C++에는 "open()'"함수가 없습니다. 기껏해야 플랫폼에 종속적 인 저수준 함수이며, 표준 라이브러리 파일 처리 함수 (예 :'fopen()')를 사용해야합니다. –