![Computer Systems: A Programmer's Perspective (3rd Edition)](https://www.bartleby.com/isbn_cover_images/9780134092669/9780134092669_largeCoverImage.gif)
Explanation of Solution
Modified code from figure 10.5:
The modified code for “cpfile.c” is shown below:
//Include header file
#include <stdio.h>
#include "csapp.h"
//Main function
int main(int argc, char* argv[])
{
//Declare "int" variable
int n;
//Create the object for read buffer of type
rio_t rio;
//Declare "MAXLINE" for memory
char buf[MAXLINE];
/* Check the command line arguments. If the command line contains two argument, then copy the infile to standard output */
if (argc == 2)
{
/* Store the descriptor number in "fd" */
int fd = Open(argv[1], O_RDONLY, 0);
while ((n = Rio_readn(fd, buf, MAXBUF)) != 0)
Rio_writen(STDOUT_FILENO, buf, n);
//Exit the process
exit(0);
}
/* Otherwise copy a text file from standard input to...
![Check Mark](/static/check-mark.png)
Want to see the full answer?
Check out a sample textbook solution![Blurred answer](/static/blurred-answer.jpg)
Chapter 10 Solutions
Computer Systems: A Programmer's Perspective (3rd Edition)
- A criticism of the break and continue statements is that each is unstructured. These statements can always be replaced by structured statements. Describe in general how you’d remove any break statement from a loop in a program and replace it with some structured equivalent. [Hint: The break statement leaves a loop from within the body ofthe loop. Another way to leave is by failing the loop-continuation test. Consider using in theloop-continuation test a second test that indicates “early exit because of a ‘break’ condition.”] Use the technique you developed here to remove the break statement from the program of Fig. 5.13.arrow_forwardA loc-cs.org/~chu/DataStructures/H 19 Special Hint for Taking User's Input import java.util.Scanner; /** * This is an example to show you that * the method nextInt() only flushes the number to the variable * and leave the "END OF LINE" symbol in the input buffer. * If you have next input looking for "END OF LINE", the system will not wait for user's input and just take the "END OF LINE" symbol from input buffer. * So, the solution is flush "END OF LINE" out before you 大 * expect an input from user. * @author Valerie Chu * @version August 24, 2020 */ public class Example { public static void main(String[] args) { Scanner input = new Scanner (System.in); String [] item = new String[2]; int (] num = new int[2]; for (int i=0; i<2; i++) { System.out.println("Which item are you shopping for?"); item[i] = input.nextLine(); System.out.printf("How many \"%s\" do you need?\n", item[i]); num[i] = input.nextInt(); input.nextLine(); //Flush the "END OF LINE" symbol out…arrow_forwardWrite in C++ please.arrow_forward
- Write a Matlab program in a script file that finds and displays all the numbers between 700 and 2999, whose product of digits is 6 times the sum of the digits (e.g. 2864 since 2*8*6*4 = 6(2+8+6+4)). You may use a loop in the script. For extra credit, print out also the number of times that the product and sum were the same! (5 pts)arrow_forwardModify the program I created in the first picture for the question 1)arrow_forwardBy using: C++ compailar gdbarrow_forward
- Answer only if you are 100% sure . Correct and detailed answer will be Upvoted else downvoted.arrow_forwardThis code has a delay in the loop, during which time the user inputs will be ignored. So, please modify it and implement a solution that would trigger the needed function when there is an input. // Pin numbers written on the board itself do not correspond to Aurdino pinnumbers.Constants are defined to make using this board easierconst uint8_t BTN_PIN = 2;const uint8_t LED_PIN = 13;//assigning button;s previous state and LedSate to LOWuint8_t buttonPrevState = LOW;uint8_t ledState = LOW;//defining a new functionvoid setup(){// Assigning the types of input parameterspinMode(BTN_PIN, INPUT_PULLUP);//Assigning the types of output parameterspinMode(LED_PIN, OUTPUT);//begin of process detailsSerial.begin(9600);}void loop(){//assigning button state to be read modeuint8_t buttonState = digitalRead(BTN_PIN); //To print the following in output windowSerial.print(buttonState);Serial.print(buttonPrevState);Serial.print(ledState);Serial.println(""); //check if the button state presently is same…arrow_forwardWrite a program that reads postfix expressions and prints their values. Each input expression should be entered on its own line, and the program should terminate when the user enters a blank line. Assume only binary operators, and that the expressions contain no variables. Note that you will need to use parentheses to indicate the order of application of the operators in the expression. Here are sample input–output pairs: 78 78 78 6 + 84 78 6 + 9 2 - / 12arrow_forward
- Implement the counter increment, and branch back to the start of the loop. When you havecompleted these steps, the basic structure of the counter control loop has been implemented,and your code should look similar to the following:.text li $s0, 0 lw $s1, n start_loop: sle $t1, $s0, $s1 beqz $t1, end_loop # code block addi $s0, $s0, 1 b start_loop end_loop:.data n: .word 5arrow_forwardhelp me to write this in cpp. make sure its working. i give thumbs uparrow_forwardSeld the loop.arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
![Text book image](https://www.bartleby.com/isbn_cover_images/9781133187844/9781133187844_smallCoverImage.gif)
![Text book image](https://www.bartleby.com/isbn_cover_images/9781337102087/9781337102087_smallCoverImage.gif)