ファイルをコピーする簡単なプログラムを作成しました。2 つの文字列を取得します。
1) はソース ファイルのパスです。
2) はコピーファイルの名前です。
絶対パスまたは相対パス (チルダ記号 (~) なし) を指定すると、正しく機能します。
しかし、チルダ記号 (~) を使用して相対パスを指定すると、ファイルのアドレスが見つかりません。そして、それは私を混乱させます!
ここに私のサンプル入力があります:
1) /Users/mahan/Desktop/Copy.cpp
2) ~/デスクトップ/Copy.cpp
最初のものは正しく動作しますが、2 番目のものは機能しません。
そして、ここに私のコードがあります:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string path, copy_name;
cin >> path >> copy_name;
ifstream my_file;
ofstream copy(copy_name);
my_file.open(path);
if(my_file.is_open())
{
copy << my_file.rdbuf();
copy.close();
my_file.close();
}
}