【发布时间】:2016-05-06 07:19:02
【问题描述】:
我在编写代码时遇到了一些问题,我想在其中修改存储在字符串中的文件扩展名。例如,字符串bla/bla/file.icc 我想更改为bla/bla/file.cmr。该字符串是结构的一部分。我有2个问题。一个是strcpy 给出了这条消息“td_ActDOR 之前的预期表达式,第二个是 for 并给出这条消息subscribed value is neither array nor pointer。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct s_ActDOR
{
char pDOR_file[86];
}td_ActDOR;
int main(void)
{
char path[80]="blabla/blabla/aici.icc";
td_ActDOR *Obiect;
Obiect = (td_ActDOR *)malloc(sizeof (td_ActDOR));
strcpy(td_ActDOR->pDOR_file, "blabla/blabla/file.icc");
int path_lenght=strlen(td_ActDOR->pDOR_file);
int i;
char bla[4] = "rmc\0";
printf("Stringul before: %s\n",path);
for (i = 0; i < 3; i++)
{
Obiect->pDOR_file[path_lenght-(i+1)] = bla[i];
}
printf("Stringul after: %s\n",path);
return 0;
}
【问题讨论】:
-
pActDORwrk未声明
标签: c string pointers structure