guides:software:files
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
guides:software:files [2021/01/04 15:07] – [Checking for **CTRL-R** on Linux] wikiadmin | guides:software:files [2024/07/25 15:01] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 3: | Line 3: | ||
There is a difference in how files are stored on these two operating systems. | There is a difference in how files are stored on these two operating systems. | ||
- | By default, when files are created on a windows system, the end of the file is marked with a **ctrl-r** and a **ctrl-n**. The user does not insert this, it is done automatically by the software. | + | By default, when files are created on a windows system, the end of each line is marked with a carriage return (\r) |
- | ===== Checking for **CTRL-R** on Linux ===== | + | In addition, most files in linux contain a final new line marker. This is not the case in windows. |
- | To see if your file contains **ctrl-r** use the linux command '' | + | |
- | In this example, the file foo.cpp has been created on a computer running windows and transferred to a computer running linux. | + | These differences can cause problems when processing files. |
+ | |||
+ | ===== Checking for Carriage Return on Linux ===== | ||
+ | To see if your file contains carriage returns (\r) use the linux command '' | ||
+ | |||
+ | In this example, the file foo.cpp has been created on a computer running windows and transferred to a computer running linux. | ||
< | < | ||
Line 21: | Line 25: | ||
| | ||
} | } | ||
+ | |||
$ od -c foo.cpp | $ od -c foo.cpp | ||
0000000 | 0000000 | ||
Line 31: | Line 36: | ||
0000160 | 0000160 | ||
0000164 | 0000164 | ||
- | [bennett@mirkwood tmp]$ | + | |
+ | </ | ||
+ | |||
+ | In the following example, the file '' | ||
+ | < | ||
+ | $ more bar.cpp | ||
+ | #include < | ||
+ | |||
+ | using namespace std; | ||
+ | |||
+ | int main() { | ||
+ | cout << "Hello World " << endl; | ||
+ | |||
+ | | ||
+ | } | ||
+ | |||
+ | $ od -c bar.cpp | ||
+ | 0000000 | ||
+ | 0000020 | ||
+ | 0000040 | ||
+ | 0000060 | ||
+ | 0000100 | ||
+ | 0000120 | ||
+ | 0000140 | ||
+ | 0000153 | ||
+ | |||
+ | </ | ||
+ | Note in this example that lines end with a newline (\n) but not a carriage return (\r). | ||
+ | |||
+ | ===== Converting Files Between Systems ===== | ||
+ | |||
+ | The utility programs **dos2unix** and **unix2dos** are provided to convert files between the two different operating systems. | ||
+ | |||
+ | In this example, the user wishes to convert the file '' | ||
+ | |||
+ | < | ||
+ | $ dos2unix foo.cpp | ||
</ | </ | ||
guides/software/files.1609772836.txt.gz · Last modified: 2024/07/25 15:01 (external edit)