메모장에 문자열 파일을 받아서 c++ 로 읽으려고하는데
예를들어서
동해물과 백두산이 \n
마르고 닳도록 \n
하느님이 보우하사 \n
이런 문자열이 있는 파일을 읽으려고 할때
자꾸 \n 개행문자 때문에 걸리는데 온전히 읽어올 수 있는 방법 있어?
내 지식으론 한계에 부딪힌다 ㅠㅠ
getline 함수로 EOF까지 어떻게 읽게 하지?
메모장에 문자열 파일을 받아서 c++ 로 읽으려고하는데
예를들어서
동해물과 백두산이 \n
마르고 닳도록 \n
하느님이 보우하사 \n
이런 문자열이 있는 파일을 읽으려고 할때
자꾸 \n 개행문자 때문에 걸리는데 온전히 읽어올 수 있는 방법 있어?
내 지식으론 한계에 부딪힌다 ㅠㅠ
getline 함수로 EOF까지 어떻게 읽게 하지?
fgets
아 fgets가 있구나 fgets 는 char 로 받지 않나? 스트링으로 받는건 없으려나?
그냥 스트링으로 변환한번하는게 빠르지않을까
고맙다 일단 fread로 받아서 char로 받은걸 string으로 바꿔봐야겠다. C언어 스타일로 짜봐야겠노
C++ 스타일은 wifstream이나 ifstream 쓰시면 됩니다.
wstring szPath = L"../Data/Data.txt"; wstring line = L""; wifstream input(szPath); while (input.eof() == false) { getline(input, line); } 이런 식으로 하시면 될 거 같네요. 그리고 개행 문자 지우는 것은 그냥 어차피 getline이 한 줄 씩 읽는 거기 때문에 반드시 마지막에 개행이 포함됩니다. 따라서 getline하고 마지막 문자에 포함된 \n만 지우면 될 듯하네요. 이경우에는 뭐.. wstring에 포함된 replace 함수를 쓰셔도 무방하구요.
오 알려주셔서 감사합니다!