我這個網站,這個上看到:fscanf(fin, "%[^\n]", &p);
可以用於從我的輸入文件(fin
)讀成char類型指針(*p
)所有字符,直到第一個輸入命中。在某些投入中,它可以正常工作,但在其他投入中則不會。什麼%[^ n]的意思是在scanf()的格式字符串
這是輸入我應該處理,我不能:
(((zahar 100 ou 3) 5 unt 100 nuca 200) 4 (lapte 200 cacao 50 zahar 100)3)20
這是我的全部代碼:
#include <string.h>
#include <stdio.h>
FILE *fin, *fout;
int main()
{
fin = fopen("reteta.in", "r");
fout = fopen("reteta.out", "w");
char *p;
p = new char[1001]();
fscanf(fin, "%[^\n]", &p);
fprintf(fout, "%s", &p);
return 0;
}
匹配無限多的字符而不是'\ n',並將它們放入由coresponding參數指向的'char []'中。 (這是'char *'類型,**而不是'char **'類型。** – Deduplicator 2014-10-27 22:05:32
使用Google搜索'fscanf'會將我帶到http://msdn.microsoft.com/en-us/library/kwwtf9ch.aspx三個鼠標點擊 – 2014-10-27 22:06:47
請注意'new char [1001]();'不是C - 它是C++代碼 – 2014-10-27 22:18:59