请问在C++中,怎样运用argv argc来读取一个txt文件 5
我.txt有有一行数字只能include:#include<fstream>#include<iostream>#include<stdlib.h>目标是读取这个.txt...
我.txt有 有一行数字
只能include:
#include <fstream>
#include <iostream>
#include <stdlib.h>
目标是读取这个.txt文件后,在保存到动态数组里面。
目前我想法是,先计算里面有多少个string数字,得到数量后创建动态数组。
然后在保存过程中把string数字转换成int到动态数组里面。
打印出数组里面的数字。
最后delete这个动态数组。
但是我开始这里就出现问题了。帮我看看
Segmentation fault: 11
#include <fstream> // for file-access
#include <iostream>
#include <stdlib.h>
using namespace std;
char *nPtr = argv[1]; // .txt文件指针
char *buffer[5]; //指针数组
int index = 0; // 初始数字的数量
ifstream fin(nPtr); //打开文件。
while(!fin.eof()){ /* 当没有到文件尽头*/
fin >> *buffer; 读取的 "数字" 保存到char的数组。 (后面再转到int)
index++; //数量++
}
return 0;
} 展开
只能include:
#include <fstream>
#include <iostream>
#include <stdlib.h>
目标是读取这个.txt文件后,在保存到动态数组里面。
目前我想法是,先计算里面有多少个string数字,得到数量后创建动态数组。
然后在保存过程中把string数字转换成int到动态数组里面。
打印出数组里面的数字。
最后delete这个动态数组。
但是我开始这里就出现问题了。帮我看看
Segmentation fault: 11
#include <fstream> // for file-access
#include <iostream>
#include <stdlib.h>
using namespace std;
char *nPtr = argv[1]; // .txt文件指针
char *buffer[5]; //指针数组
int index = 0; // 初始数字的数量
ifstream fin(nPtr); //打开文件。
while(!fin.eof()){ /* 当没有到文件尽头*/
fin >> *buffer; 读取的 "数字" 保存到char的数组。 (后面再转到int)
index++; //数量++
}
return 0;
} 展开
1个回答
展开全部
argv是命令行参数,需要将程序编译后,在DOS方式下,加参数运行
追问
我在 终端试过了。 所有文件都在同一个目录下。lab.cpp numbers.txt
我是打 ./lab numbers
好像应该是在这里出问题。
while(!fin.eof()){ /* 当没有到文件尽头*/
fin >> *buffer; 读取的 "数字" 保存到char的数组。 (后面再转到int)
index++; //数量++
追答
将numbers.txt全名,都加上试试,另外,fin>>*buffer 似乎不太对
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询