I didn't run your code, but realize that you're only pointing s[0][0].isbn and s[0][1].isbn to valid char arrays. All of your other elements, s[0...row-1][0..col-1].isbn, are not pointing to valid data, so doing fin >> s[i][j].isbn at that point is invalid.
Do yourself a favour. Use C++. Use a string. Don't use char pointers. Don't use dynamic memory allocatino. Don't use arrays. Don't make a 2D array of char. JUST STOP AND WRITE C++ INSTEAD.
Your program has the following bugs and shortcomings. All of these would be fixed if you used the C++ facilities available to you such as strings and vectors.
- The program leaks like a colander. You leak the s array and all of the isbn's.
- If you fixed the leaks, you probably wouldn't be able to copy one inventory to another without creating another leak.
- You only read the first 2 characters of each isbn. What if there are more?
- You can only read 2 isbn's. Not 1, not 3, not 17. Just two.