Trang chủ > C++ > Parsing C++ Command-Line Arguments

Parsing C++ Command-Line Arguments

Microsoft Specific

Microsoft C/C++ startup code uses the following rules when interpreting arguments given on the operating system command line:

  • Arguments are delimited by white space, which is either a space or a tab.
  • The caret character (^) is not recognized as an escape character or delimiter. The character is handled completely by the command-line parser in the operating system before being passed to the argv array in the program.
  • A string surrounded by double quotation marks (“string“) is interpreted as a single argument, regardless of white space contained within. A quoted string can be embedded in an argument.
  • A double quotation mark preceded by a backslash (\”) is interpreted as a literal double quotation mark character (“).
  • Backslashes are interpreted literally, unless they immediately precede a double quotation mark.
  • If an even number of backslashes is followed by a double quotation mark, one backslash is placed in the argv array for every pair of backslashes, and the double quotation mark is interpreted as a string delimiter.
  • If an odd number of backslashes is followed by a double quotation mark, one backslash is placed in the argv array for every pair of backslashes, and the double quotation mark is “escaped” by the remaining backslash, causing a literal double quotation mark (“) to be placed in argv.
Example

The following program demonstrates how command-line arguments are passed:

// command_line_arguments.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
int main( int argc,      // Number of strings in array argv
          char *argv[],   // Array of command-line argument strings
          char *envp[] )  // Array of environment variable strings
{
    int count;

    // Display each command-line argument.
    cout << "\nCommand-line arguments:\n";
    for( count = 0; count < argc; count++ )
         cout << "  argv[" << count << "]   "
                << argv[count] << "\n";
}

Xem nguồn tại MSDN.

Chuyên mục:C++ Tags: ,
  1. Chưa có phản hồi.
  1. No trackbacks yet.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

TechCrunch

Startup and Technology News

KTLA

Los Angeles News and Video for Southern California

GROUPE IFV - Ingénieurs France-Vietnam

La page d'information du groupe des ingénieurs france-vietnam

Journal Métro

Le site web du quotidien gratuit Métro Montréal

CHUNG ACADEMY

www.hoaichung.com

Chuyên trang DU LỊCH và DU HỌC

VinaCode

Lập trình & Cuộc sống

Khải Đơn

Vui chơi hết ngày tháng

Love & Luce

A Canadian executive businesswoman moves to Rome, for amore & luce!

Hội Anh Em Dân Chủ

Vì một nước Việt: Dân chủ - Văn minh - Pháp trị

The Art of Scientific Communication

Advice for university students in science and engineering - by Faye Hicks, PhD, PEng

MoopenCafé - Mobile Open Café

“A mind is like a parachute. It doesn't work if it is not open.” ― Frank Zappa

Economics One

A blog by John B. Taylor

BarDev - Archive

A programming blog by Mike Barlow

NHỮNG HỒI ỨC VÀ KỶ NIỆM LỊCH SỬ

Trăm năm bia đá thì mòn, Ngàn năm bia miệng vẫn còn trơ trơ

Wine Blog

by Coco Linh

Xi'an's Og

an attempt at bloggin, nothing more...

Just Go

...as long as we're together

My Journey With Data Science

'every journey begins with a single step'

%d bloggers like this: