您的位置:首页 > 其它

读取TXT文件中数据,数据间空格分割

2016-08-10 19:50 375 查看
TXT文件中有多行数据,

每行数据之间空格隔开,

读取数据。

#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

int main()
{
//打开文件
FILE *fp = NULL;
char fileName[32] = "1.txt";

fp = fopen(fileName, "r+");

if(fp == NULL)
{
cout << "open failed";
return 0;
}
cout << "open success";
//读取每行数据
while (!feof(fp))
{
char str[1024];
char *p;
//char *fgets(char *buf, int bufsize, FILE *stream);
//*buf: 字符型指针,指向用来存储所得数据的地址。
//bufsize: 整型数据,指明存储数据的大小。
// *stream: 文件结构体指针,将要读取的文件流。
if(fgets(str, sizeof(str), fp) == NULL)
break;

//char *strtok(char s[], const char *delim);
//分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
p = strtok(str, " ");

while(p)
{
//int atoi(const char *nptr);
//atoi( ) 函数会扫描参数 nptr字符串,
//跳过前面的空白字符(例如空格,tab缩进等,可以通过isspace( )函数来检测),
//直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,
//并将结果返回。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0
printf("%d ", atoi(p));
p = strtok(NULL, " ");

}
cout << endl;
}

fclose(fp);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: