我在爲char指針賦值時遇到了問題。c字符指針賦值
#include<stdio.h>
int main(int argc, char* argv[]){
char line[200], *p, q;
int i=0;
FILE* f=fopen(argv[1], "r");
for(; ;){
p=fgets(line, 200, f);
if (p==NULL) break;
printf("%s", p);
i=0;
while(p[i]!='\n'){
if (p[i]=='a') p[i]='A';
i++;
}
printf("%s", p);
}
}
我知道,行
p[i]='A';
不起作用,但這就是我基本上需要做的,用char
替換char*
。 p
需要是char*
,因爲fgets()
會返回該值。我的問題是,如果我能以某種方式將char*
轉換爲char
[]
,或者如果有方法將值分配給char*
?
'P [i] ='A''應工作(假設你期望它將char數組的元素i設置爲'A')。你看到什麼問題? – simonc
爲什麼它不能工作?它對我來說看起來非常好。 –
「我知道,'p [i] ='A'這行'不起作用' - 它在什麼意義上行不通?你怎麼知道它不起作用? – 2013-05-20 14:03:51