我将printf和/或其他函数应用于某个字符串,从文件中读取.我想在某些条件下跳过前5个字符.现在我觉得很聪明,如果条件适用,将字符串指针增加5:
if (strlen(nav_code) == 10 ) {nav_code = 5+nav_code;}
Run Code Online (Sandbox Code Playgroud)
但是编译器拒绝这个:
错误:使用数组类型赋值给表达式
我误解了什么?如何使我的想法工作 - 或者无论如何这是一个坏主意?
它可能是因为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
Run Code Online (Sandbox Code Playgroud)