我已經閱讀了所需文件中的所有文本,現在它存儲在buff
中。我想複製標識符字符串(如「標題」)後的字符串內容。從C中的文本文件複製所需的字符串
示例如下文件:
"Title: I$_D$-V$_{DS}$ Characteristic Curves (Device 1)
MDate: 2016-03-01
XLabel: Drain voltage V$_{DS}$
YLabel: Drain current I$_D$
CLabel: V$_{GS}$
XUnit: V
... "
for(;;) {
size_t n = fread(buff, 1 , DATAHOLD, inFile);
subString = strstr(buff, "Title");
if(subString != NULL) {
strcpy(graph1.title , (subString + 7));
subString = NULL;
}
....more if statements....
if(n < DATAHOLD) {
break;
}
}
我明白strstr()
返回一個指針到搜索字符串的位置,我加7
得到公正的搜索字符串後附帶的文字和這部分工作正常。問題是strcpy()
將buff
字符數組的其餘部分複製到graph1.title
。 如何指示strcpy()
只複製與substring
指針相同的行上的文本?使用strtok()
也許?
fgets應該切換第一個和最後一個參數。我喜歡這個主意,我會嘗試一下 – pproctor
@pproctor哎呀!感謝您指出。糾正。 –