I am trying to recursively iterate a folder using the nftw() function of C for printing the complete Directory Structure along with that I can't find a way to check whether the level has changed ,i.e, it has moved inside a directory or is iterating in the directory only. So, is there any way I can check for change in level using nftw()?
Check for level change while traversing folder using nftw()
343 views Asked by Vishal Chugh At
1
There are 1 answers
Related Questions in C
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in FILE-HANDLING
- how to edit or update the values of records text file in python using seek and tell function
- How to handle a file handling code that shows no output after first time?
- Unexpected output due to file.readline() when using 'a+'
- how can I detect if a file is open by windows app in WSL and either overwrite or rename?
- Python Seek Function with an offset exceeding the file size
- FileOutputStream not closing properly?
- I'm trying to create an ai chatbot using electron and python. code is working properly but in js part their is problem
- PermissionError 13? Permission denied?
- Merging files on disk in Python
- Receiving multiples files from server
- My tkinter app wont change the file it is loading
- How does the serialisation using child class of ObjectOutputStream does not give error when reading the objects using ObjectInputStream?
- How can I test whether I can read or write a directory?
- Ruby Script Recursively Creates Deeply Nested Directories
- Changing the start address of the IntelHex file using Python
Related Questions in NFTW
- Does Linux provide a mechanism for caching the file system in your program?
- Is it safe to fork() within a callback function in C?
- using nftw to only traverse the folder specified
- Linked list of leaf files and directories in a dir tree using C
- C go in specified directory and find only simple files, on first file stop and do something
- How to make nftw() faster
- Check for level change while traversing folder using nftw()
- How to read ntfs partition with ntfw
- Recursive path of a directory with the nftw function in C
- How to delete content of directory using ftw
- C: Specify maximum depth of search using nftw
- Skip subdirectories when using ntfw in c
- how to specify nftw flags
- nftw passing tflag with undefined value
- Why do I get a Segmentation fault? I'm using stat, mmap, nftw, and memcmp, among other things
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
If you read the POSIX specification of
nftw(), you'll find:So, the answer to your question is that the
levelelement of the FTW object tells you the level of the current item. If you need to spot changes, you'll need to keep track of the previous level, somehow — it likely will be a file scope variable.It would be nice if there was a variant of
nftw()(call itnftw2()) that made provision for a user-supplied 'extra information' argument — avoid *that would be passed tonftw2()and whichnftw2()would relay to the called function. Then you'd not need the file scope variable.The BSD, macOS and Linux systems, at least, have an alternative to
nftw()— thefts(3)functions (also at FreeBSD). The macOS manual says they might be a part of a future version of POSIX, but they're not a part of POSIX 2017. (I don't see the extra information parameter here, either — oh well! If you're ever designing a callback system, consider providing a context (or 'extra information') parameter that can be used.)