C++编程-循环读取文件
使用cin
读入字符数组的时候,遇到空白字符就会停止。
例如,cin >> ch
,如果输入的是38.5 47
就只会读入38.5
。
如果想要读入整行字符,可以采用cin.getline()
函数,遇到换行符停止。
cin.getline(ch, 50)
第二个参数是允许读入的最大长度。
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char ch[10];
ifstream inFile;
inFile.open("info_s.txt");
//判断是否成功打开文件
if (!inFile.is_open())
{
cout << "Could not open the file." << endl;
cout << "Program terminating.\n";
exit(EXIT_FAILURE);
}
//循环读取文件内容
while (inFile >> ch)
cout << ch << endl;
inFile.close();
return 0;
}
C++编程-多个源文件
h文件用来对cpp文件中的函数进行声明
read_info.cpp
#include "read_info.h"
#include "stdafx.h"
using namespace std;
void read(int info[][Column], int size, char *filename)
{
int num;
ifstream inFile;
inFile.open(filename);
//判断是否成功打开文件
if (!inFile.is_open())
{
cout << "Could not open the file." << endl;
cout << "Program terminating.\n";
exit(EXIT_FAILURE);
}
//循环读取文件内容
int *p = &info[0][0];
int i, j;
while (inFile >> num)
{
*p = num;
p++;
}
for (i = 0; i < size; i++)
{
for (j = 0; j < Column; j++)
cout << info[i][j] << endl;
}
inFile.close();
}
read_info.h
#include "stdafx.h"
void read(int info[][Column], int size, char *filename);
主程序
//stdafx.h是主程序的头文件,包含常用编译头和宏定义的变量
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int ele_nodes[NUM_ELE][Column];
read(ele_nodes, NUM_ELE, "info_s.txt");
return 0;
}