Программа 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 paths void 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 code int 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
Пример: