2013-03-21 54 views
0

如何从文件中读取一行字符。首先程序从文件中读入一个整数。该数字表示在下一步中要读入多少个字符。接下来读入字符并将它们存储在数组中。那么我该如何创建'char'变量,以便我可以正确读取Michael中的字符以在数组中显示它们。使用INPUTFILE >>整数,从那里我需要一个整数使用,使这个数组字符迈克[整数] ;,然后我可以在读取字符到数组阅读字符和创建数组C++

+1

了解如何使用'' – 2013-03-21 00:54:45

+0

中的设施这更像是C问题。在C++中,我永远不会使用原始数组。有花哨的容器和类来容纳字符串数组。 – Shoe 2013-03-21 00:55:01

+0

为什么不把'Michael'放在文件中并读取'std :: string'?或者你实际上只是读取部分字符串/行? – chris 2013-03-21 00:57:40

回答

1

要回答

file.txt: 
8 
Michael 

IM您问题:

#include <fstream> 
using namespace std; 

int main() { 
    ifstream f("file.txt"); 
    int n; 
    f >> n; 
    char chs = new char[n]; 
    for (int i = 0; i < n; ++i) f >> chs[i]; 

    // do something about chs 

    delete [] chs; 
} 

不过,我会去(如果出现在自己的行你Michael):

#include <fstream> 
#include <string> 
using namespace std; 

int main() { 
    ifstream f("file.txt"); 
    int n; 
    f >> n; 
    string str; 
    getline(f, str); 
} 
+0

@chris糟糕!谢谢! – gongzhitaao 2013-03-21 00:58:39

+0

即时通讯使用inputFile >>整数,从那里我需要整数来使这个数组char mike [整数];然后我可以在字符读入数组 – Mnramos92 2013-03-21 00:58:48

+1

需要检查“inputFile >>整数”失败。如果遇到EOF或未找到整数,语句将失败。 – 2013-03-21 01:31:17

0
#include <fstream.h> 
#include <string.h> 

int main() 


    { 
     ifstream f("file.txt",ios::in); 
     int n; 
     f >> n; 
     char string[n]; 
     f.getline(string,n); 
     cout<<string; 

    } 

这将输出关闭在file.txt以下字符串。