【发布时间】:2017-08-12 05:13:13
【问题描述】:
我已读取所需文件中的所有文本,现在存储在buff 中。我只想复制标识符字符串(例如“标题”)之后的字符串内容。
下面的示例文件:
"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()?
【问题讨论】: