Laboratorio di Linguaggi lezione VII Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.

Slides:



Advertisements
Similar presentations
Lecture 3 Some commonly used C programming tricks. The system command Project No. 1: A warm-up project.
Advertisements

C: Advanced Topics-II Winter 2013 COMP 2130 Intro Computer Systems Computing Science Thompson Rivers University.
J0 1 Marco Ronchetti - Web architectures – Laurea Specialistica in Informatica – Università di Trento Java XML parsing.
UNIVERSITÀ DEGLI STUDI DI PAVIA Facoltà di Lettere e Filosofia, Scienze Politiche, Giurisprudenza, Ingegneria, Economia Corso di laurea in Comunicazione.
Laboratorio di Linguaggi lezione X Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione di ripasso costrutti Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Laboratorio di Linguaggi lezione VI: istruzioni di controllo di flusso Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali.
Introduction to C Programming
A C++ Crash Course Part II UW Association for Computing Machinery Questions & Feedback.
Using Files Declare a variable, called file pointer, of type FILE * Use function fopen to open a named file and associate this file with the file pointer.
Week 5 Part I Kyle Dewey. Overview Exam will be back Thursday New office hour More on functions File I/O Project #2.
CPSC 441 TUTORIAL – JANUARY 16, 2012 TA: MARYAM ELAHI INTRODUCTION TO C.
And c++?. What will we do? C vs JAVA Dev-C++ tutorial and your first program C++ structure Reading input/output Flow Control (if, for, while) array function.
What is shape function ? shape function is a function that will give the displacements inside an element if its displacement at all the node locations.
Fondamenti di Informatica 1 Esercizi di riepilogo.
Strings Input/Output scanf and printf sscanf and sprintf gets and puts.
1 Chapter 10 Strings and Pointers. 2 Introduction  String Constant  Example: printf(“Hello”); “Hello” : a string constant oA string constant is a series.
Character String Manipulation. Overview Character string functions sscanf() function sprintf() function.
Character String Manipulation. Overview Character string functions sscanf() function snprintf() function.
Sort the given string, without using string handling functions.
By Senem Kumova Metin 1 POINTERS + ARRAYS + STRINGS REVIEW.
Stack buffer overflow.
Buffer Overflow Exploits CS-480b Dick Steflik. What is a buffer overflow? Memory global static heap malloc( ), new Stack non-static local variabled value.
Rings This chapter demonstrates how processes can be formed into a ring using pipes for communication purposes.
C Language Summary HTML version. I/O Data Types Expressions Functions Loops and Decisions Preprocessor Statements.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
LM 66 Lauree Magistrali in Sicurezza Informatica
Programa “Números ASCII” Ing. Arturo Díaz Vargas Departamento de Sistemas División de Ciencias Básicas e Ingeniería UNIVERSIDAD AUTONOMA METROPOLITANA.
Command line arguments. – main can take two arguments conventionally called argc and argv. – Information regarding command line arguments are passed to.
Chapter 17 - I/O in C. BYU CS/ECEn 124Input and Output2 Concepts to Learn… Standard Libraries Input/Output Data Streams printf() scanf() Variable Argument.
20/03/01 Sudeshna Sarkar, CSE, IIT Kharagpur1 File Handling in C Lecture 17c 20/3/01.
Strlen() implementation /* strlen : return length of string s */ int strlen(char *s) { int n; for (n = 0 ; s[n] != ‘\0’ ; n++) ; return n; } /* strlen.
Lone Leth Thomsen Input / Output and Files. April 2006Basis-C-8/LL2 sprintf() and sscanf() The functions sprintf() and sscanf() are string versions of.
Characters and Strings File Processing Exercise C Programming:Part 3.
File IO and command line input CSE 2451 Rong Shi.
Lin Chen 09/13/2011. Count words number in the file arrayUtils.h include the adding functions template int addInOrder (T* array, int& size, T value);
Engr 0012 (04-1) LecNotes Engr 0012 (04-1) LecNotes C++ errors/debugging build/compile compiler does not recognize a statement build/compile.
EXERCISE Arrays, structs and file processing. Question An online store sells various types of children’s clothing. You are to create a program that stores.
Fundamental Data Types, Operators and Expressions Kernighan/Ritchie: Kelley/Pohl: Chapter 2 Chapter 2, 3.
EXERCISE Arrays, structs and file processing. Question You own a pet store. You want to keep an inventory of all the pets that you have. Pets available.
Chapter 11: Data Files and File Processing Files and streams Creating a sequential access file Reading data from a sequential access file Using fgetc()
Types of Operator Arithmetic operator Relational operator Logical operator Assignment operator Increment or decrement operator(unary) Bitwise operator.
Degrees  Chemistry and Chemical Technologies  Physics  Material Sciences University of Genoa Faculty of Mathematical, Physical and Natural Sciences.
Files A collection of related data treated as a unit. Two types Text
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the basic properties and characteristics of external files ❏ To.
Lecture 20: C File Processing. Why Using Files? Storage of data in variables and arrays is temporary Data lost when a program terminates. Files are used.
Connecting to Files In order to read or write to a file, we need to make a connection to it. There are several functions for doing this. fopen() – makes.
A bit of C programming Lecture 3 Uli Raich.
Esempio: Tombola! Parte seconda.
Chapter 7 Text Input/Output Objectives
Command line arguments
Command Line Arguments
Input / Output functions in C
C Programming:Part 3 Characters and Strings File Processing Exercise.
CSCI206 - Computer Organization & Programming
Input / Output functions in C
C Stuff CS 2308.
רשימות מקושרות עבודה עם קבצים דוגמה
CSE1320 Strings Dr. Sajib Datta
Stack buffer overflow.
Input/Output and the Operating Systems
Programming and Data Structure
File Handling.
Esempio: Tombola! Parte seconda.
Weeks 9-10 IO System Calls Standard IO (stdin, stdout) and Pipes
ECE 103 Engineering Programming Chapter 51 Random Numbers
File Handling in C.
Module 12 Input and Output
ETE 132 Lecture 8 By Munirul Haque.
Quick Review EECS May 2019.
Presentation transcript:

Laboratorio di Linguaggi lezione VII Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in Informatica Anno Accademico 2004/05

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Input Output printf sprintf fprintf scanf sscanf fscanf da/a terminale da/a stringhe da/a files inputoutput

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Esempio con sprintf concatenazione di stringhe char stringa1[] = "cacio"; char stringa2[] = "cavallo"; char *concaten; sprintf(concaten,"%s%s",stringa1, stringa2); NON vi eravate accorti dell'errore?!

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Input Output printf sprintf fprintf scanf sscanf fscanf da/a terminale da/a stringhe da/a files inputoutput

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Uso tipico di sscanf : Lettura degli argomenti da riga di comando di un programma. int main(int argc, char *argv[]) argv[0] : nome del programma argv[1] : primo argomento... argv[argc-1] : ultimo argomento numero di argomenti + 1 C:> pippo.exe –a –o:zap argv[0] argv[1] argv[2]

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Uso tipico di sscanf (compito per casa) : /* mostra le isturzioni di uso da riga di comando */ void show_usage(){... } int main(int argc, char *argv[]) { int x; if (argc<2) { /* nessun argomento: mostra l'aiuto e esci */ show_usage(); return 0; } if (sprintf("%d", argv[1], &x) != 1) { /* il primo argomento non e' un numero: mostra l'aiuto e esci */ show_usage(); return 0; } /* mostra i byte che compongono il numero... in base 16. Due cifre a byte, separate da uno spazio es: */... return 1; }

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Input Output printf sprintf fprintf scanf sscanf fscanf da/a terminale da/a stringhe da/a files inputoutput

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Gestione files FILE* file_di_output= fopen ("ciao.txt", "wt");... /* uso il file in scrittura */ fclose(file_di_output); FILE* file_di_output= fopen ("ciao.txt", "rt");... /* uso il file in lettura */ fclose(file_di_output);

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Files in binario o in modo testo? Binario: –veloce –platform dependent incubi di compatibilità se si leggono files scritti con una architettura differente –di solito più coinciso Modo testo: –più lento –platform independent –file comprensibili (leggibili in "umano" come testo)

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Gestione files Scrittura e lettura non formattate fwrite fread o ( void* p, int size_elem, int n_elem, FILE* f) scrivono/leggono (in binario) sul file restituiscono il numero di elementi scritti/letti sono operatori efficienti

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Gestione files tutte le funzioni per leggere e scrivere su files... leggono e scrivono dalla posizione corrente –che viene aggiornata come effetto collaterale fwrite fread fprintf fscanf

M a r c o T a r i n i L a b o r a t o r i o d i L i n g u a g g i / 0 5 U n i v e r s i t à d e l l I n s u b r i a Gestione files la posizione corrente: –e' un long int –puo' essere letta –puo' essere cambiata: –o anche, riportata all'inizio del file: long int ftell(FILE *fp); int fseek(FILE *fp, long int offset, SEEK_SET ); int fseek(FILE *fp, long int offset, SEEK_CUR ); int fseek(FILE *fp, long int offset, SEEK_END ); int rewind (FILE *fp );