我只是試圖從文件中讀取每個字符並將它們打印在屏幕上。 爲了測試,我試圖在打印字符之前先在控制檯屏幕上打印ASCII值。C++ I/O不明白爲什麼有-1
我想讀取文件的含量低於:
assign1_2.cpp:33:20: error: cannot convert 'std::string
{aka std::basic_string<char>}' to 'const char*' for argument '1'
to 'int atoi(const char*)'
我用下面
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <stdlib.h>
using namespace std;
void CountLetters(string filename);
int main()
{
CountLetters("count.txt");
}
void CountLetters(string filename)
{
cout << filename << endl;
ifstream in;
in.open(filename.c_str(), ios::in);
vector<char> letter;
char temp;
while (!in.eof())
{
cout << in.get() << endl;
}
in.close();
}
運行的代碼,這些代碼後,我看到「-1」結尾在控制檯屏幕上。 任何人請解釋?謝謝
那麼'count.txt'裏有什麼?你可能實際上有一個'-1'! – 2011-12-19 08:52:00
你發佈的編譯器錯誤是如何相關的? – 2011-12-19 08:53:00
您是否一步步調試方法?查看所有變量並查看「-1」是在「cout <<」中發生還是作爲main的返回值。 – 2011-12-19 08:53:47