C中的Fscanf和fprintf

问题描述 投票:0回答:1

我有fscanf字符串并有问题。

例如

输入:

John: john123.
Mao: Mao 456

第一个单词是用户名,密码在分号后。

    while(fscanf(fin, "%20[^:], %20[^\n]", ime, pass)==2)
    fprintf(fout, "%s %s\n", ime, pass);

我应该存储它,并printf存储它,但是它只出现在第一个分号上。

输出应为:

John john123
Mao mao456
c printf scanf
1个回答
0
投票

问题是,格式字符串中的fscanf()

  "%20[^:], %20[^\n]"

fscanf()搜索该分号,并且此后仅继续使用下一个格式说明符。

宁愿那样做:

"%20[^:] %20[^\n]"

© www.soinside.com 2019 - 2024. All rights reserved.