Программа C++ для сравнения путей двух файлов
Опубликовано: 10 Января, 2023
Поскольку нам даны два пути к двум файлам, мы должны сравнить эти два пути и проверить, равны ли они, больше или меньше, используя программу на C++.
Вход:
path1 = "/a/b/c" , path2 = "/a/b/"
Выход:
path1 is greater than path2
Подходы:
Использование встроенной функции сравнения:
- Для хранения путей используйте строку в качестве типа данных
- Используйте путь1. Compare( pathname2 ), чтобы сравнить два пути, это вернет три значения больше 0, меньше 0 или равно 0
Пример:
C++
// C++ Program to Compare Paths of Two Files#include <iostream>using namespace std;// function to compare two pathsvoid pathCompare(string p1, string p2){ // stores compared value 0 or >0 or <0 const int res = p1.compare(p2); if (res > 0) cout << p1 << " is greater than " << p2; else if (res == 0) cout << p1 << " is equal to " << p2; else cout << p1 << " is less than " << p2; cout << "
";}// Driver codeint main(){ string p1 = "/a/b/c"; string p2 = "/a/b/"; string p3 = "/a/b"; string p4 = "/a/b"; string p5 = "/a/b"; string p6 = "/a/b."; pathCompare(p1, p2); // function call pathCompare(p3, p4); // function call pathCompare(p5, p6); // function call return 0;} |
Использование итерации (цикл for и while):
- Для хранения путей используйте строку в качестве типа данных
- Используйте цикл for или while и сравните каждый символ из них один за другим.
Синтаксис:
while(path1[i] != " " || path2[i] != " "){
//compare the character
//increment value of i
}
OR
for(int i = 0; path1[i] != " " || path2[i] != " "; i++){
//compare the character
}Ниже приведена реализация вышеуказанного подхода:
Использование операторов сравнения:
- Для хранения путей используйте строку в качестве типа данных
- Используйте операторы сравнения (<, >, ==) для сравнения двух путей.
синтаксис:
if(path1 > path2)
// path1 is greater
else if(path1 < path2)
// path2 is greater
else
// both paths are sameПример: