Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
3年前关闭。
当我尝试打印文件的每个字符时,出现分段错误。我不明白为什么。
另外,
使用
因此,对于
并不是
想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
3年前关闭。
当我尝试打印文件的每个字符时,出现分段错误。我不明白为什么。
void parseStringAndDelete(char *file)
{
// I a passing "drwxr-xr-x 1 ftp ftp 0 Mar 07 12:34 A_Folder"
// as an argument for the function
int i = 0;
int k = 0;
int len = strlen(file);
int startIndex = 0;
//printf("%s\n", file);
//printf("%d\n", len);
if(file[0] == 'd')
{
for(i = 0; i<len; i++)
{
printf("%s\n", file[i]);
}
}
}
最佳答案
如果要打印字符串的每个字符,则应使用%c
而不是%s
。
printf("%c\n", file[i]);
另外,
使用
printf("%s", ..)
打印字符串时,您需要传递字符串所在的地址,而不是地址的内容。因此,对于
char* str = "hello"
,print语句为printf("%s\n", str);
并不是
printf("%s\n", str[0]);
关于c - 我不明白我是怎么得到段错误的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36041137/
10-11 22:03