通俗来说
-
绝对路径:绝对,唯一,从头开始。
“辽宁省沈阳市东北大学浑南校区工业1602小明同学收”
在中国,无论寄信的小红在哪,信都会交到小明手上;
但在别的国家,会找不到辽宁省。
-
相对路径:与自身相对。
“请帮忙转交给隔壁班的小明”
如果小红转专业到了金融1601,隔壁班会找不到小明;
但如果小明也转到了金融1602,小明就能收到信了。
-
谁谁(驱动器)的根目录:根,最开始的地方。
正好跟东北话“根儿”一个意思(教练:“根是啥意思?根都不知道,下车,别练了!”)
C盘的根目录,就是直接打开C盘看到的那一片
另外:(软件)安装的根目录(EXE所在的地方),应该是没有这种说法的,可能有的人说顺嘴口误吧。
例子
- C 绝对路径(因为spss不支持相对路径,且我不会spss,用C来举例)
按照一般人的使用习惯,可能会把示例数据放D盘或者桌面
但是,有的人没有D盘,不同的人桌面路径不一样
我的桌面的路径:C:\Users\liguanya118\Desktop
而换一个人的电脑桌面路径:C:\Users\zhangxin\Desktop
在我的电脑上正常运行的代码(假设桌面有“SPSS案例数据”文件夹及里面的”1.1”):
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
FILE *stream;
char buffer[81];
int i, ch;
/* Open file to read line from: */
if( (stream = fopen( "C:\Users\liguanya118\Desktop\SPSS案例数据\1.1", "r" )) == NULL )
exit( 0 );
/* Read in first 80 characters and place them in "buffer": */
ch = fgetc( stream );
for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = fgetc( stream );
}
/* Add null to end string */
buffer[i] = '\0';
printf( "%s\n", buffer );
fclose( stream );
}
/*---------------------
作者:Z-H-I
来源:CSDN
原文:https://blog.csdn.net/zxx910509/article/details/56275492
版权声明:本文为博主原创文章,转载请附上博文链接!*/
但即使程序和数据一起移到新电脑上,运行时也只会提示找不到liguanya118
但本书取了个巧,Windows一定有C盘,且放C盘根目录,没什么乱七八糟的
if( (stream = fopen( "C:\SPSS案例数据\1.1", "r" )) == NULL )
(但江湖规矩,正规的没人这么做)
-
C 相对路径
if( (stream = fopen( "SPSS案例数据\1.1", "r" )) == NULL )
只要保持程序和数据的相对位置(比如放一个文件夹内,整个文件夹一起移动),就没问题
-
spss是脚本语言,不需要编译,用C举例时的“程序”对于spss来说就是代码文件本身。