1

私は C++ プログラミングに慣れていません (大学以来 10 年以上は行っていません)。引数として渡されたファイル名を取得するための非常に基本的なプログラムを作成しようとしています。ファイル名を取得する方法がわかりません。デスクトップにVS2012 Expを使用しています。

以下は私のコードです。

#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <xstring>
#include <string>

//using namespace openutils;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    wcout << "customconsole app has "<< argc <<" arguments passed.  second one is:  " << argv[1];
    ofstream me_attach_file;
    wstring newfilename = argv[1] && ".newext";
    me_attach_file.open (".mailexpress");
    me_attach_file << "Writing this to a file.\n";
    me_attach_file.close();
return 0;
}
4

3 に答える 3

3

これを交換

wstring newfilename = argv[1] && ".newext";

wstring newfilename = argv[1];
newfilename += L".newext";

一部の言語では&、文字列の連結に使用されます。C++ にはありません。実際、文字列リテラルと文字ポインタを連結する NO 演算子はあり+ません。文字列連結は文字列オブジェクトによって定義され、それらでのみ機能するためです。

さらに、文字列リテラルは、Lワイド文字を使用し、wstring.

于 2013-06-06T15:54:01.877 に答える