我需要读取一个文件,然后将其打印到STDOUT但是间隔为两倍.到目前为止我所拥有的是:
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define BUFSZ 1024
int main(int argc, char* argv[]){
int n, fdin;
char buf[BUFSZ];
if ((fdin=open(argv[1],O_RDONLY))<0){
perror(argv[1]);
exit(-1);
}
while(( n = read(fdin, buf, BUFSZ))>0){
if(write(STDOUT_FILENO,buf,n) != n){
fprintf(stderr, "Write Error\n");
exit(-1);
}
printf("\n");
}
close(fdin);
return(0);
}
Run Code Online (Sandbox Code Playgroud)
我是C的新手并且不知道如何在代码中实现\n,我的printf("\n")在尝试将整个文件的内容加倍空间时毫无用处.我想我必须将\n添加到读取中?但我不完全确定这是否正确或如何做到这一点.
我是lisp的新手,我正在研究基本语法.我试图将
r1 =( - b + sqrt(b ^ 2 - 4*a*c))/(2*a)
转换为lisp格式.我认为我遇到的唯一问题是我不能让lisp将-b识别为符号b的负值.这是我到目前为止从lisp提示中得到的:
[17]> (setq a 1L0)
1.0L0
[18]> (setq b -1L0)
-1.0L0
[19]> (setq c -1L0)
-1.0L0
[20]> (setq r1 (+ (/ (sqrt (- (power b 2) (* (* 4 a) c))) (* 2 a)) -b))
*** - EVAL: variable -B has no value
The following restarts are available:
USE-VALUE :R1 You may input a value to be used instead of -B.
STORE-VALUE :R2 You may input a new value …Run Code Online (Sandbox Code Playgroud) 我需要取一串这么多字符并使其只有3个.例如,如果我读了一个字符串"11月",我想把它转换为"11月".我想知道如果执行此操作将会是什么:
String month = "November";
//I want month = "Nov"
Run Code Online (Sandbox Code Playgroud)
我必须在很多不同的月份做这件事.我尝试使用.replace(),但我找不到正确的正则表达式,让它删除第三个字符后的所有内容.
我有一个任务是读取一个文件,其中包含格式为的内容
June 17, 1997
July 23, 1997
September 28, 1980
September 31, 1980
Mar. 2, 1980
Apr. 2, 1980
May 3, 1980
Nov 25, 1989
Dec 25, 1989
Jan 3, 1973
Run Code Online (Sandbox Code Playgroud)
我必须将每个日期存储到Date对象中.如果下一个日期晚于上一个日期,则应从两个日期创建DateRange对象.最终输出应该是这样的
Date: June 17, 1997
Date: July 23, 1997
DateRange: Date: June 17, 1997 - Date: July 23, 1997
Date: September 28, 1980
Invalid Date
Date: March 2, 1980
Date: April 2, 1980
DateRange: Date: March 2, 1980 - Date: April 2, 1980
Date: May 3, 1980
DateRange: Date: …Run Code Online (Sandbox Code Playgroud) 我只是想知道我是否可以在switch语句中为一个案例测试两个字符串.例如:
switch (month){
case "Jan": ...
}
Run Code Online (Sandbox Code Playgroud)
这是一个常规的switch语句,但有没有办法实现比较两个字符串的方法,例如:
switch (month){
case "Jan" || "January": ....
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法实现这种代码方法,我可以测试Jan OR January.
可能重复:
避免在printf()中尾随零
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
FILE *file;
double n;
file = fopen("fp.source", "r");
while(!feof(file)) {
fscanf(file, "%lf", &n);
printf("Next double:\"%lf\"\n", n);
}
fclose(file);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
嗨,我正在尝试扫描浮点数,我已经让它工作,但我得到了我不想要的尾随零.有办法避免这种情况吗?例如,我得到的当前输出是:下一个双倍:"11.540000"
实际上我想:下一个双:"11.54"