mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 09:41:36 +00:00
Compare commits
5 Commits
ae494ee1b3
...
c5f0cbac32
Author | SHA1 | Date | |
---|---|---|---|
|
c5f0cbac32 | ||
|
b30134148f | ||
|
6016dcba8c | ||
|
813969f898 | ||
|
a44f874f78 |
@ -19,16 +19,6 @@ C is the lowest-level language most programmers will ever use, but
|
||||
it more than makes up for it with raw speed. Just be aware of its manual
|
||||
memory management and C will take you as far as you need to go.
|
||||
|
||||
> **About compiler flags**
|
||||
>
|
||||
> By default, gcc and clang are pretty quiet about compilation warnings and
|
||||
> errors, which can be very useful information. Explicitly using stricter
|
||||
> compiler flags is recommended. Here are some recommended defaults:
|
||||
>
|
||||
> `-Wall -Wextra -Werror -O2 -std=c99 -pedantic`
|
||||
>
|
||||
> For information on what these flags do as well as other flags, consult the man page for your C compiler (e.g. `man 1 gcc`) or just search online.
|
||||
|
||||
```c
|
||||
// Single-line comments start with // - only available in C99 and later.
|
||||
|
||||
|
95
csv.html.markdown
Normal file
95
csv.html.markdown
Normal file
@ -0,0 +1,95 @@
|
||||
---
|
||||
language: CSV
|
||||
filename: learncsv.csv
|
||||
contributors:
|
||||
- [Timon Erhart, 'https://github.com/turbotimon/']
|
||||
---
|
||||
|
||||
CSV (Comma-Separated Values) is a lightweight file format used to store tabular
|
||||
data in plain text, designed for easy data exchange between programs,
|
||||
particularly spreadsheets and databases. Its simplicity and human readability
|
||||
have made it a cornerstone of data interoperability. It is often used for
|
||||
moving data between programs with incompatible or proprietary formats.
|
||||
|
||||
While RFC 4180 provides a standard for the format, in practice, the term "CSV"
|
||||
is often used more broadly to refer to any text file that:
|
||||
|
||||
- Can be interpreted as tabular data
|
||||
- Uses a delimiter to separate fields (columns)
|
||||
- Uses line breaks to separate records (rows)
|
||||
- Optionally includes a header in the first row
|
||||
|
||||
```csv
|
||||
Name, Age, DateOfBirth
|
||||
Alice, 30, 1993-05-14
|
||||
Bob, 25, 1998-11-02
|
||||
Charlie, 35, 1988-03-21
|
||||
```
|
||||
|
||||
**Delimiters for Rows and Columns**
|
||||
|
||||
Rows are typically separated by line breaks (`\n` or `\r\n`), while columns
|
||||
(fields) are separated by a specific delimiter. Although commas are the most
|
||||
common delimiter for fields, other characters, such as semicolons (`;`), are
|
||||
commonly used in regions where commas are decimal separators (e.g., Germany).
|
||||
Tabs (`\t`) are also used as delimiters in some cases, with such files often
|
||||
referred to as "TSV" (Tab-Separated Values).
|
||||
|
||||
Example using semicolons as delimiter and comma for decimal separator:
|
||||
|
||||
```csv
|
||||
Name; Age; Grade
|
||||
Alice; 30; 50,50
|
||||
Bob; 25; 45,75
|
||||
Charlie; 35; 60,00
|
||||
```
|
||||
|
||||
**Data Types**
|
||||
|
||||
CSV files do not inherently define data types. Numbers and dates are stored as
|
||||
plain text, and their interpretation depends on the software importing the
|
||||
file. Typically, data is interpreted as follows:
|
||||
|
||||
```csv
|
||||
Data, Comment
|
||||
100, Interpreted as a number (integer)
|
||||
100.00, Interpreted as a number (floating-point)
|
||||
2024-12-03, Interpreted as a date or a string (depending on the parser)
|
||||
Hello World, Interpreted as text (string)
|
||||
"1234", Interpreted as text instead of a number
|
||||
```
|
||||
|
||||
**Quoting Strings and Special Characters**
|
||||
|
||||
Quoting strings is only required if the string contains the delimiter, special
|
||||
characters, or otherwise could be interpreted as a number. However, it is
|
||||
often considered good practice to quote all strings to enhance readability and
|
||||
robustness.
|
||||
|
||||
```csv
|
||||
Quoting strings examples,
|
||||
Unquoted string,
|
||||
"Optionally quoted string (good practice)",
|
||||
"If it contains the delimiter, it needs to be quoted",
|
||||
"Also, if it contains special characters like \n newlines or \t tabs",
|
||||
"The quoting "" character itself typically is escaped by doubling the quote ("")",
|
||||
"or in some systems with a backslash \" (like other escapes)",
|
||||
```
|
||||
|
||||
However, make sure that for one document, the quoting method is consistent.
|
||||
For example, the last two examples of quoting with either "" or \" would
|
||||
not be consistent and could cause problems.
|
||||
|
||||
**Encoding**
|
||||
|
||||
Different encodings are used. Most modern CSV files use UTF-8 encoding, but
|
||||
older systems might use others like ASCII or ISO-8859.
|
||||
|
||||
If the file is transferred or shared between different systems, it is a good
|
||||
practice to explicitly define the encoding used, to avoid issues with
|
||||
character misinterpretation.
|
||||
|
||||
### More Resources
|
||||
|
||||
+ [Wikipedia](https://en.wikipedia.org/wiki/Comma-separated_values)
|
||||
+ [RFC 4180](https://datatracker.ietf.org/doc/html/rfc4180)
|
@ -14,23 +14,6 @@ Die Geschwindigkeit von C ist enorm, allerdings muss man sich stets der
|
||||
manuellen Speicherverwaltung bewusst sein.
|
||||
|
||||
|
||||
> **Über Compiler Optionen**
|
||||
>
|
||||
> Standardmäßig sind `gcc` und `clang` ziemlich ruhig bezüglich Warnungen und
|
||||
> Fehlern, obwohl dies sehr nützliche Informationen sein können. Es wird
|
||||
> empfohlen, strengere Compiler Optionen zu verwenden. Hier sind einige empfohlene
|
||||
> Standards:
|
||||
> `-Wall -Wextra -Werror -O2 -std=c99 -pedantic`
|
||||
>
|
||||
> Da gewisse Optionen (insbesondere der C-Standard) sehr stark vom Projekt
|
||||
> abhängen, lohnt es sich, wenn die unterschiedlichen Optionen genauer
|
||||
> angeschaut werden. Eine Übersicht über die Compiler-Optionen findet man unter
|
||||
> [diesem](https://stackoverflow.com/questions/3375697/useful-gcc-flags-for-c) Stackoverflow-Beitrag.
|
||||
>
|
||||
> Für weitere Informationen, was diese und weitere Optionen genau machen,
|
||||
> sollte die Man-Page des C-Compilers aufgerufen werden (z.B. `man 1 gcc`).
|
||||
> Alternativ kann auch online nach den unterschiedlichen Optionen gesucht werden.
|
||||
|
||||
```c
|
||||
// einzeilige Kommentare starten mit // - nur in C99 und später vorhanden.
|
||||
|
||||
|
@ -19,19 +19,6 @@ lang: fr-fr
|
||||
Le C est le langage de plus bas niveau que la plupart des programmeurs seront
|
||||
amenés à utiliser, mais ceci est largement conpensé par sa vitesse brute.
|
||||
|
||||
> **À propos des options de compilation**
|
||||
>
|
||||
> Par défaut, gcc et clang sont assez silencieux sur les avertissements et
|
||||
> les erreurs de compilation, qui peuvent être des informations très utiles.
|
||||
> L'utilisation explicite d'options de compilation plus strictes est recommandée.
|
||||
> Voici quelques valeurs par défaut recommandées:
|
||||
>
|
||||
> `-Wall -Wextra -Werror -O2 -std=c99 -pedantic`
|
||||
>
|
||||
> Pour plus d'informations sur ce que font ces options ainsi que sur d'autres,
|
||||
> vous pouvez consulter la page du manuel de votre compilateur C (par exemple `man 1 gcc`)
|
||||
> ou recherchez simplement en ligne.
|
||||
|
||||
```c
|
||||
// Les commentaires sur une ligne commencent par // - valable seulement pour C99 et plus tard.
|
||||
|
||||
|
@ -23,17 +23,6 @@ Cはほとんどのプログラマが最低水準言語として使われてい
|
||||
プログラマーの手で管理する必要があり、これが初学者を苦しめる要素となるが、うまく使えば、
|
||||
ロボットなどで実行速度やメモリの使用率などを大幅に最適化できる。
|
||||
|
||||
> **コンパイラフラグについて**
|
||||
>
|
||||
> gccやclangなどのコンパイラではデフォルトでデバッグに有益なエラーや警告を表示しない
|
||||
> 設定になっています。なので、それらのエラーを詳細に、厳しく表示させるフラグと共に
|
||||
> 実行することをおすすめします。下記はそのフラグの例です:
|
||||
>
|
||||
> `-Wall -Wextra -Werror -O2 -std=c99 -pedantic`
|
||||
>
|
||||
> このようなフラグの詳細については、オンライン検索にかけるか、
|
||||
> コンパイラのドキュメンテーションを読んでください。(Linuxなら`man 1 gcc`等)
|
||||
|
||||
```c
|
||||
// 行コメントは//で始まる (C99より前のC標準では使えない)
|
||||
|
||||
|
@ -19,18 +19,6 @@ lang: uk-ua
|
||||
|
||||
C це імовірно найбільш низькорівнева мова, яку будуть використовувати більшість програмістів. Проте, вона компенсує це не тільки швидкістю виконання. Як тільки ви оціните її можливість ручного управління пам'яттю, С зможе відвести саме в ті місця, в які вам потрібно було потрапити.
|
||||
|
||||
> **Дещо про прапори компілятора**
|
||||
>
|
||||
> За замовчуванням, gcc та clang досить тихо інформують про попередження та помилки
|
||||
> при компіляції, хоч це і може бути дуже корисною інформацією. Тому рекомендується
|
||||
> використовувати більш вимогливий компілятор. Ось кілька рекомендацій:
|
||||
>
|
||||
> `-Wall -Wextra -Werror -O2 -std=c99 -pedantic`
|
||||
>
|
||||
> За інформацією про ці та інші прапори зверніться до головної сторінки man вашого
|
||||
> компілятора C (наприклад, `man 1 gcc`) або ж просто заґуґліть.
|
||||
|
||||
|
||||
```c
|
||||
// Однорядкові коментарі починаються з //
|
||||
// Проте вони з'явились тільки після С99.
|
||||
|
Loading…
Reference in New Issue
Block a user