Ⅰ 主函数从命令行读入一个文件名
有的时候希望给程序传递参数, 可以在运行一个程序时在命令行上跟上几个参数. 而程序设计好去取得参数在程序中使用. 就需要利用main()函数的argv[]. 举例如下.
// abc.cpp----- abc.exe
// 在命令行上键入 abc sun moon
#include <iostream>
using namespace std;
int main(int targc, char* argv[])
{
cout<<"获得参数1: "<<argv[1]<<endl;
cout<<"获得参数2: "<<argv[2]<<endl;
system("pause");
return 0;
}
假设这个程序编译后名字为abc.exe , 在windows的附件中进"命令行提示符", 到仿DOS窗口
在命令行上键入 abc sun moon 就可以看到效果. 具体参数派什么用场看你的需要了.
Ⅱ java如何从命令行读入一个String
比如你现在有一个可以运行的class文件叫做A.class。那么在命令行中可以这样执行这个程序:
java A arg
其中arg是A需要的参数。那么A是怎么得到这个arg的呢。基本上是这样的:
public static void main(String[] args)
{
if(args.length > 0)
{
String str = arg[0];
}
}
这是在A.java中的main函数,这里只是得到了第一个参数的做法,如果想得到更多的参数,只要做一个简单的循环遍例这个数组args就可以了。
Ⅲ c语言从命令行读入字符串
第一个错误就是你定义的FILE是一个指针,并没有空间,是没法接受字符串的输入的,第二个错误是,假设你的指针有空间了,接受输入的时候也不能用&符号
Ⅳ Java从命令行读取输入然后输出到文本文件的问题
importjava.io.*;
publicclassInputName{
publicstaticvoidmain(String[]args)throwsIOException{
System.out.println("请输入姓名(结束请敲两次回车键):");
InputStreamReaderkeyBoard=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(keyBoard);
FileWriterwriter=newFileWriter("name.txt",true);
Strings;
while((s=br.readLine())!=null){
writer.write(s);
}
writer.flush();
writer.close();
keyBoard.close();
br.close();
}
}
Ⅳ C语言中关于通过命令行获取参数的编程
#include <stdio.h>
int main(int argc, char *argv[])
{
if(argc<2)
{
printf("you must input args!");
return 0;
}
if(strcmp(argv[1],"help")==0)
{
printf("此程序参数如下:\n");
printf("-c 提示是否确定。\n");
printf("-d 跳过警告,直接删除。\n");
printf("exit为退出。");
return 0;
}
else if(strcmp(argv[1],"-c")==0)
{
//此处省略N行你的代码
}
return 0;
}
如果你编译出来的程序名字叫 test.exe 那么在命令行下输入 test.ext help后就会打印
此程序参数如下:
-c 提示是否确定。
-d 跳过警告,直接删除。
exit为退出。
Ⅵ 高手求教!!!c语言中怎样读取命令行参数
把main函数声明为int main(int argc,char *argv[])
argc 是参数的个数
如:
int main(int argc,char *argv[])
{
printf("%s",argv[1]);
}
这是一个简单的未做错误判断的echo函数,将上面的源程序编译连接为echo.exe,然后在命令提示符下输入echo hello
这样,argc=2,argv[0]为echo,argv[1]为hello
我没用过linux,不知道上面的回答有没有对上意思。
Ⅶ JAVA程序设计如何从高到低将从命令行读取的一组数字进行降序排序
import java.util.Arrays;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
System.out.print("输入一串纯数字后按Enter键:");
Scanner sc = new Scanner(System.in);
String inps = sc.nextLine();
int maxNum = 0;
if(inps.trim().length()==0){
System.err.println("未输入有效数字内容!");
return;
}
Object[] inpsArr = new Object[0];
if(inps.indexOf(",")>-1){
inpsArr = inps.split(",");//如果带有英文逗号则以逗号分隔拆分为数组
}else{
char[] charArray = inps.toCharArray();//否则拆分为数组时把每一个字符作为数组的一个元素
inpsArr = new Object[charArray.length];
for (int i = 0; i < charArray.length; i++) {
char c = charArray[i];
inpsArr[i] = String.valueOf(c);
}
}
Object[] xx2 = sorts(inpsArr);//排序
System.out.println(Arrays.asList(xx2));//打印排序结果
}
/**
* 从大到小对数组元素进行排序,数组中的不可转换为数值的元素将保持原位置不变,不参与排序
* @param soureArr : 待排序的数组
* @return 排序好的数组
*/
static Object[] sorts(Object[] soureArr){
Object[] arr = Arrays.Of(soureArr, soureArr.length);//复制一份副本进行操作,不改变原数组内容
Double d = 0d;//允许元素带有小数点
Double d2 = 0d;//允许元素带有小数点
for (int i = 0; i < arr.length-1; i++) {
String ss = String.valueOf(arr[i]);
try{
d = Double.valueOf(ss);
}catch(Exception e){
continue;//跳过 不可转换为数值的元素
}
for (int j = i+1; j < arr.length; j++) {
String ss2 = String.valueOf(arr[j]);
try{
d2 = Double.valueOf(ss2);
}catch(Exception e){
continue;//跳过 不可转换为数值的元素
}
if(d > d2){//排序方式:d<d2为降序,d>d2为升序
arr[i] = ss2;
arr[j] = ss;
ss = ss2;
d = d2;
}
}
}
return arr;
}
}
Ⅷ 命令行读取字符的程序代码是什么
Consloe.ReadLine()/WriteLine(String)函数应该可以吧