Ⅰ 主函數從命令行讀入一個文件名
有的時候希望給程序傳遞參數, 可以在運行一個程序時在命令行上跟上幾個參數. 而程序設計好去取得參數在程序中使用. 就需要利用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)函數應該可以吧