我在C语言中使用get line函数来读取文件的行。我想遍历该函数,以便可以多次读取文件。但是由于某种原因,它在后续循环的开始仅读取一次(我认为某个指针仍指向最后一行)。我该如何重置?
为了更清楚一点,如果下面的文件中有100行,则最大val将为100,即使最大应为300。
谢谢!
FILE* fp = myfopen (inf, "r");
char* line = NULL;
size_t len = 0;
int num=3
int val=0
for (i=0;i<num;i++)
{
while (getline (&line, &len, fp) != -1)
{
val++;
}
}
Run Code Online (Sandbox Code Playgroud) 每当我执行"rails server"并尝试访问时https://localhost:3000,我收到以下错误消息.任何想法发生了什么?
谢谢!
=> Booting WEBrick
=> Rails 4.0.2 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2014-02-04 14:00:34] INFO WEBrick 1.3.1
[2014-02-04 14:00:34] INFO ruby 2.0.0 (2013-11-22) [x86_64-darwin12.5.0]
[2014-02-04 14:00:34] INFO WEBrick::HTTPServer#start: pid=25445 port=3000
[2014-02-04 14:00:37] ERROR bad Request-Line `\x16\x03\x01\x00?\x01\x00\x00?\x03\x03R?8?Rcd?0j?`\\?6?>??f?&-??pB???B\x00\x00J\x00??$?#?'.
[2014-02-04 14:00:37] ERROR bad URI `"^;?\x00?D\x1D????w?H?\x15?.\x10M?\x00\x00J\x00??$?#?'.
[2014-02-04 14:00:37] ERROR bad Request-Line `\x16\x03\x00\x00E\x01\x00\x00A\x03\x00R?8?Bo??r?\x19'.
Run Code Online (Sandbox Code Playgroud) 我有一个简单的bash for循环,我试图在其中执行一个命令.循环是这样我可以执行不同的文件名.
文件是:
crystal0_cmin.pdb
crystal1_cmin.pdb
.
.
.
Run Code Online (Sandbox Code Playgroud)
循环是:
for ((i=0;i<=10;i++))
do
cp Files/crystal$i_cmin.pdb Energy/
cp Files/crystal$i_cmin.psf Energy/
done
Run Code Online (Sandbox Code Playgroud)
问题是我总是收到以下错误消息:
cp: cannot stat `Files/crystal.pdb': No such file or directory
cp: cannot stat `Files/crystal.psf': No such file or directory
Run Code Online (Sandbox Code Playgroud)
但我从来没有指定文件crystal.pdb和crystal.psf.它只是忽略了所有i的$ i扩展名.也就是说,没有文件被复制.
有谁知道如何解决这个问题.
谢谢!