-2
我想写这样的C程序,但编译器不断报告错误,它无法理解标识符'a'。有人能告诉我这里出了什么问题吗? 这里是代码和错误:使用未声明的标识符'a'
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
int main() {
char buffer[200];
memset(buffer,’a’,200);
int fd = open("test.txt", O_CREAT | O_RDWR);
write(fd, buffer, 200);
lseek(fd, 0, SEEK_SET);
read(fd, buffer, 100);
lseek(fd, 500, SEEK_CUR);
write(fd, buffer, 100);
}
/Users/messfish/Desktop/os1.c:9:18: error: non-ASCII characters are not allowed
outside of literals and identifiers
memset(buffer,’a’,200);
^
/Users/messfish/Desktop/os1.c:9:22: error: non-ASCII characters are not allowed
outside of literals and identifiers
memset(buffer,’a’,200);
^
/Users/messfish/Desktop/os1.c:9:21: error: use of undeclared identifier 'a'
memset(buffer,’a’,200);
我使用GCC的编译器。
您正在使用周围的'了'错单引号。你应该输入***''a'' ***,而不是复制/粘贴它。 – jww
你应该很好地检查错误的返回值,特别是从'open','read'和'write'。 – donjuedo