晚起鸟儿 发表于 2015-3-4 15:57:57

关于小甲鱼视频实例1.1(世界,你好!)的疑问请教高手

本帖最后由 晚起鸟儿 于 2015-3-7 04:56 编辑

#include <stdio.h>
void main()
{
printf("世界,您好!\n");
printf("hello,world!\n");
}

问题一:把上面一句(世界,您好!)打印出红色文字,把下面一句(hello,world!)打印出蓝色文字需要如何修改?
问题二:单独把下面一句(hello,world!)打印成TXT格式文档,并保存到新建文档D:\hello需如何修改?(hello不是自己命名,而是从该程序段中提取,因为我希望做到提取写入的数据作为打印出的TXT文档文件名)
感谢您的关注~

牡丹花下死做鬼 发表于 2015-3-4 16:03:31

问别人问题 还收钱 (⊙o⊙)…

ANDES 发表于 2015-3-4 16:28:16

呵呵

晚起鸟儿 发表于 2015-3-5 04:05:51

牡丹花下死做鬼 发表于 2015-3-4 16:03
问别人问题 还收钱 (⊙o⊙)…

不好意思,我弄错了,本来是悬赏怎么整成收费。。。{:5_109:}

lililice 发表于 2015-3-5 10:25:54

#include <stdio.h>
#include <windows.h>

int main(){
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
        printf("世界,您好!\n");
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE);
        printf("hello,world!\n");
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

        getchar();
        return 0;
}
控制台文字颜色用系统API修改的,详细参考blog.csdn.net/morewindows/article/details/6789206

晚起鸟儿 发表于 2015-3-5 13:22:51

lililice 发表于 2015-3-5 10:25
控制台文字颜色用系统API修改的,详细参考blog.csdn.net/morewindows/article/details/6789206

非常强大,楼主是不是用到汇编,第二个问题哪位可以解答下呢?

晚起鸟儿 发表于 2015-3-5 14:36:13

lililice 发表于 2015-3-5 10:25
控制台文字颜色用系统API修改的,详细参考blog.csdn.net/morewindows/article/details/6789206

只能每行设置么?能不能设置单个字颜色呢?如(世界)打印成红色,(您好)打印成蓝色,(因为我正在写一个厂里广数用的编程程序,把单个字弄成不同颜色好区分)

晚起鸟儿 发表于 2015-3-6 05:35:36

第二个问题没人能帮忙解答么?能不能打印成TXT文档保存到D盘呢?{:5_94:}

仰望天上的光 发表于 2015-3-6 12:42:41

晚起鸟儿 发表于 2015-3-6 05:35
第二个问题没人能帮忙解答么?能不能打印成TXT文档保存到D盘呢?

LZ现在学的是标准C,也就是在任何平台下都能使用的C语言,但是第一个问题涉及到平台相关性,就是说,第一个问题用标准C实现不了,5楼的写法是直接使用了windows API函数来做,在linux等系统下这个程序就不能编译通过,第二个问题倒是可以用标准C来实现。
#include <string.h>
#include <stdio.h>

int main(void) {
        char msg[] = "hello,world!\n";
        char buf, filename;
        char* name;
        FILE* fp;
        strcpy(buf,msg);
        name = strtok(buf,",");
        strcpy(        filename, "D:\\");
        strcat(filename, name);
        strcat(filename, ".txt");
        fp = fopen( filename, "wt" );
        fprintf( fp, msg );
        fclose( fp );
        return 0;
}

freeparty 发表于 2015-3-6 12:50:21

C语言不是有改字体颜色的函数呢么。

lililice 发表于 2015-3-6 12:57:49

BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);
是API设置字体颜色和背景色的函数,改变当前控制台窗口打印的文字颜色,
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
printf("世界,");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE);
printf("您好!\n");
这样子..

第二个直接用C的文件操作函数就好了,

晚起鸟儿 发表于 2015-3-6 13:30:50

freeparty 发表于 2015-3-6 12:50
C语言不是有改字体颜色的函数呢么。

这个文字全改的知道的,下面很简单就做到,但我是要改单个字
#include <stdio.h>
void main()
{
system("color 34");
printf("世界,您好!\n");
printf("hello,world!\n");
}

晚起鸟儿 发表于 2015-3-6 13:37:53

lililice 发表于 2015-3-6 12:57
BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);
是API设置字体颜色和背景色的 ...

这样还是每行改呀,我是想改一行文字中的单个字,看来真的没办法了。。。

晚起鸟儿 发表于 2015-3-6 14:04:50

仰望天上的光 发表于 2015-3-6 12:42
LZ现在学的是标准C,也就是在任何平台下都能使用的C语言,但是第一个问题涉及到平台相关性,就是说,第一 ...

VC6在WINDOWS系统下调用windows API函数来编,可以实现一行中单个字改颜色吗?

freeparty 发表于 2015-3-6 14:36:47

晚起鸟儿 发表于 2015-3-6 14:04
VC6在WINDOWS系统下调用windows API函数来编,可以实现一行中单个字改颜色吗?

学windows程序设计吧,控制台下画来画去还是很难看

晚起鸟儿 发表于 2015-3-6 14:48:11

freeparty 发表于 2015-3-6 14:36
学windows程序设计吧,控制台下画来画去还是很难看

VC比较好上手吧,我首要还是要先学好C和JDK,不是用来画图,是先在电脑上出个简单的数控车床编程软件。然后想办法移植到安卓上(因为我是操作工,每天上班都要算差不多的数据比较烦)

freeparty 发表于 2015-3-6 14:50:18

安卓另有接口,C的东西安卓上就没有这个函数。

晚起鸟儿 发表于 2015-3-6 15:05:12

freeparty 发表于 2015-3-6 14:50
安卓另有接口,C的东西安卓上就没有这个函数。

是的,但是现在常用数据在电脑上运算基本实现了,现在主要是个别字单独颜色显示和打印TXT等修改,我是想先弄个出来在电脑上先用着

freeparty 发表于 2015-3-6 15:09:45

windows下打印TXT内容,就算你是用了C语言最后调用的还是windows函数。

晚起鸟儿 发表于 2015-3-6 16:03:26

freeparty 发表于 2015-3-6 15:09
windows下打印TXT内容,就算你是用了C语言最后调用的还是windows函数。

呵呵,那不重要呀,现在首要就是先用VC在电脑上实现我想要的功能,谢谢版主关注帖子
页: [1] 2
查看完整版本: 关于小甲鱼视频实例1.1(世界,你好!)的疑问请教高手