我将printf和/或其他函数应用于某个字符串,从文件中读取.我想在某些条件下跳过前5个字符.现在我觉得很聪明,如果条件适用,将字符串指针增加5:
if (strlen(nav_code) == 10 ) {nav_code = 5+nav_code;}
但是编译器拒绝这个:
错误:使用数组类型赋值给表达式
我误解了什么?如何使我的想法工作 - 或者无论如何这是一个坏主意?
它可能是因为nav_code
不是指针而是字符数组char nav_code[50]
.请尝试以下方法:
char nav_code[50]; char *nav_code_ptr = nav_code; if (strlen(nav_code_ptr) == 10 ) {nav_code_ptr += 5;} // forth on, use nav_code_ptr instead of nav_code