
1个回答
展开全部
#include <iostream>
#include <fstream>
#include <strstream>
#include <stdlib.h>
using namespace std;
#define LineMaxNumbers 20 //每行最多数字数
#define MaxLine 10 //最大行数
#define LineMaxLength 256 //每行最大长度
typedef struct
{
unsigned __int8 NumberQuantity;
unsigned __int32 Numbers[LineMaxNumbers];
}TOneLine;
TOneLine ReadNumber[MaxLine];
int main()
{
char Buffer[LineMaxLength];
ifstream File("NUMBER.TXT");//你要读的文件名
unsigned __int8 Colume,Row=0;
while(File.getline(Buffer,sizeof(Buffer)/sizeof(Buffer[0])))
{
istrstream LineStream(Buffer);
Colume=0;
do
{
LineStream>>ReadNumber[Row].Numbers[Colume];
Colume++;
}while(LineStream.eof()==false);
ReadNumber[Row].NumberQuantity=Colume;
Row++;
}
for(int lR=0;lR<Row;lR++)
{
for(int lC=0;lC<ReadNumber[lR].NumberQuantity;lC++)
{
cout<<ReadNumber[lR].Numbers[lC]<<'\t';
}
cout<<endl;
}
system("pause");
return 0;
}
rad studio测试通过
若文件结尾是空格则会加上0,这个问题不知道谁可以解决
#include <fstream>
#include <strstream>
#include <stdlib.h>
using namespace std;
#define LineMaxNumbers 20 //每行最多数字数
#define MaxLine 10 //最大行数
#define LineMaxLength 256 //每行最大长度
typedef struct
{
unsigned __int8 NumberQuantity;
unsigned __int32 Numbers[LineMaxNumbers];
}TOneLine;
TOneLine ReadNumber[MaxLine];
int main()
{
char Buffer[LineMaxLength];
ifstream File("NUMBER.TXT");//你要读的文件名
unsigned __int8 Colume,Row=0;
while(File.getline(Buffer,sizeof(Buffer)/sizeof(Buffer[0])))
{
istrstream LineStream(Buffer);
Colume=0;
do
{
LineStream>>ReadNumber[Row].Numbers[Colume];
Colume++;
}while(LineStream.eof()==false);
ReadNumber[Row].NumberQuantity=Colume;
Row++;
}
for(int lR=0;lR<Row;lR++)
{
for(int lC=0;lC<ReadNumber[lR].NumberQuantity;lC++)
{
cout<<ReadNumber[lR].Numbers[lC]<<'\t';
}
cout<<endl;
}
system("pause");
return 0;
}
rad studio测试通过
若文件结尾是空格则会加上0,这个问题不知道谁可以解决
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询