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; }