나는 다음과 같은 코드가 있습니다 코드에서길이()
ifstream file(filename);
for(string word; getline(file, word);){
if(word.size() == letters){
cout << "word: " << word << endl;
cout << "size: " << word.size() << endl;
dict.push_back(word);
}
}
을 filename
는 "dict.txt"와 같은 dictoinary 파일입니다. "dict.txt"에 다음과 같이 표시됩니다.
aa
aah
aahed
aahing
aahs
...
위의 그림에서 보듯이 많은 단어가 있습니다. letters
은 13이라고 가정합니다. 따라서 코드는 abacterialope
과 같이 13 자의 단어를 인쇄해야합니다. 그러나 실제로 12 글자를 가진 단어를 인쇄합니다. word.size()
은 13입니다.
그럼 왜 이런 일이 일어날 수 있습니까? 내 기억과 마찬가지로 size()
은 문자 수를 string
에 인쇄해야합니다. 사용
마 너 안에있는 줄들. r 파일의 뒤에 공백이 있습니까? 보이는 문자를 출력하여 문자열이 끝나는 곳을 표시하십시오. 예를 들어'cout << "단어 :"<< word << "> \ n "; –
\ r과 같은 숨겨진 문자일까요? 콘솔 출력은 무엇입니까? – DiscoStu
어떤 시스템에서이 문자가 실행 되었습니까? 사전은 어디에서 왔습니까? 어떻게 시스템에 왔습니까? - 출력 할 때 문자열을 '' '등과 유사하게 인쇄하십시오. – laune